SQL Server数据库对上亿表的操作
发布时间:2008-11-16 18:13:00
SQL Server对上亿的表进行排序或者上亿的表之间进行join,会导致系统失去响应。
◆1.我确实做了一个很大的查询,涉及的数据表有两亿条记录,而且有一个group by操作,造成CPU、内存和磁盘开销均很大。后来和微软的人重新实验了一下,我的查询确实会造成系统反应变慢。后来我们也实验了一下,在这个2亿的表上统计一下行数,即select count(*) from table1,用了1分钟,内存涨了5G左右,磁盘子系统负荷很大,CPU也突然提高。这说明这种上亿的表的操作会非常严重的降低效率。
◆2.整个服务器的磁盘分配是这样的,网站访问的数据库库位于磁盘阵列中,而我们的统计临时库位于D盘中,C和D好像是一个磁盘组,也就相当于是在C盘。我们的数据库的大量磁盘I/O会导致系统的反应变慢。因此当我的查询很大的时候,就会使服务器整个系统变慢。
◆3.数据库的数据文件的自增长方式为每次1024k,数据文件的空间已经接近用光,而要发生增长,而增长空间要求应该比较大,所以就会不停的申请增长,造成磁盘开销较大。
◆4.操作中涉及到delete操作,会形成大量的日志,而上周扩容后,发现日志文件比以前缩小了,估计是重建了,昨天的操作会导致日志文件也要不断增长,也会造成磁盘的负荷加大。
解决办法:
针对一:
避免大表操作,所有的操作均可以按省或者时间分开,这样无论从时间或者地域维度,基本上可以将大表拆成30张以上的小表操作,甚至更多。然后再对结果进行合并,应该可以避免上述问题。
针对二:
无解决方案,只是建议将我们的数据库也单独分到一组磁盘上去,不要跟系统竞争。
针对三:
及时删除无用的临时数据,保障数据库空间,同时也可以做上空间监控,一旦数据文件空间发生增长时,给DBA一个预警邮件,我们收到邮件后可以立即做相应处理。
针对四:
日志文件目前已经涨得较大,我们执行一下截断日志的动作,将日志文件的空间使用保持在一个较低水平.


猜你喜欢
- 先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下:SELECT TOP 页
- 本文实例讲述了c#操作附加数据库的方法。分享给大家供大家参考。具体如下:/// <summary>/// 附加数据库/// &l
- 很多人错误地认为ASP是简单、低效的代名词,认为ASP是低能的,不足挂齿的,也很简单,一学就会,一琢磨就精通。有人讲ASP不安全,写ASP的
- 描述如下: 用mysqldump 导出 Trigger 的时候遇到一个问题,贴出来,以免大家犯错。 在执行下面的操作时: [root@ytt
- <%@ Language=VBScript %><HTML><HEAD>
- 无意间碰到的一个大神整理的Python学习思维导图,感觉对初学者理清学习思路大有裨益,非常感谢他的分享。14 张思维导图基础知识数据类型序列
- 1.场景问题说明mysql中一般的update写法支持的方式是,update 表 set 字段名=修改后的字段值 where 条件1 and
- 大致流程:导包---import collections新建一个有序字典---collections.OrderedDict()写入json
- 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法。分享给大家供大家参考。具体如下:测试用CGI,名
- 写在前面:这次我主要想总结一下微信小程序实现上下滚动消息提醒,主要是利用swiper组件来实现,swiper组件在小程序中是滑块视图容器。我
- 情人节快乐!这个节日怎么会少了浪漫的玫瑰花!用Python的turtle库绘图是很简单的,画了一个玫瑰花,下面奉上源码:源码:'
- 太长不看的简洁版本1.x = np.arange(start, end, steps)Values are generated within
- 本文记录了Windows10安装Python2.7的详细步骤,分享给大家。一、下载软件Python的官方地址点击Downloads找到进行下
- RSA加密是一种非对称加密,通常使用公钥加密,私钥解密,私钥签名,公钥验签。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解
- 1.首先检查自己的环境变量是否配置正确点击setting 点击 Python Interpreter点击Add Interpret
- 这篇文章详细的介绍了Oracle数据库SQL语句性能调整的基本原则,具体内容请参考下文。一、问题的提出在应用系统开发初期,由于开发数据库数据
- python 3.10上安装pyqt5前言首先,看一下自己电脑上的python的版本,网上有太多乱七八糟的教程,啥也不说就硬教,跟着做的话就
- 阅读:Chapter 3 * 的表格“Misquotations are the only quotations tha are never
- 准备软件:1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin2. Apache(2.0.53): h
- 可以加入以下3个参数 –without-debug --with-client-ldflags=--all-static,--w