T6数据库变慢的终极解决办法

上传人:飞*** 文档编号:39931666 上传时间:2018-05-21 格式:DOCX 页数:3 大小:16.92KB
返回 下载 相关 举报
T6数据库变慢的终极解决办法_第1页
第1页 / 共3页
T6数据库变慢的终极解决办法_第2页
第2页 / 共3页
T6数据库变慢的终极解决办法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《T6数据库变慢的终极解决办法》由会员分享,可在线阅读,更多相关《T6数据库变慢的终极解决办法(3页珍藏版)》请在金锄头文库上搜索。

1、 畅捷通信息技术有限公司T6T6 数据库变慢的终极解决办法数据库变慢的终极解决办法 我们有一些客户的数据库是巨量数据,特别是用到生产管理的模块,千万行甚至亿行记录 都不足为奇。如此情况下,数据库运行速度将受到严重影响,打开一个账表半小时甚至两 小时,做一个计划要两天两夜,客户抱怨不断,服务人员焦头烂额,总不能叫客户都去买 大型计算机吧。其实是有办法可以大大提升数据库运行效率的,这要求我们的服务人员要 学会数据库日常维护的高级技巧,而且是必须学会。下面是数据库效率提升技巧的全面内 容,建议所有服务人员自行练习并用在实际工作中,要求熟练掌握。技巧一:技巧一:重建索引重建索引效率提升指数:高特点:一

2、二三买单,灰常的快,一下就弄完可以走人了。案例:某超市畅捷通 T1 商贸宝百万行级数据,原速度五秒,重建索引后两秒不到,速度提 升近一倍。不要小看这几秒,对超市来讲,那意味着不必要排长队。由于数据库日常写操作频繁,索引的工作效率会越来越低,速度自然大受影响,很多客户 会有这种感觉,前半年还非常快,后半年就受不了了。刚刚到年底,正好是出报告、查资 料的年关,偏偏软件慢得要命,服务人员也别想有好日子过,陪着加班吧,就算解决不了 问题,也让人家心理舒服点。这样的日子可以过去了。命令 1:DBCC DBREINDEX (表名称,“,70) -针对主要影响速度的表,一般如 rdrecords、saleb

3、illvouchs、pp_mrpdetails、pp_rmrpdetails 说明:只对主要表操作,影响速度的当然是这几个大表,速度解决问题,也不影响客户使 用命令 2:exec sp_msforeachtable “DBCC DBREINDEX(“?“)“ -数据库所有表重建索引 说明:不太建议,除非太咸了特别指出,重建索引前必须断网,以保证所有客户端无人在操作软件 技巧二:技巧二:表分区表分区 效率提升指数:超高特点:慢工出快活。硬盘越多,它就越快,所有硬盘一起转当然快;CPU 越多,它就更快, sqlserver 的引擎对这个有优化设计;设计得越合理,它就灰常滴快,例如历史数据按年存 放

4、,因为你一般不用嘛,那数据库只对你要操作的部分分区检索,自然飞快。还有,必须 得是 sql2005 及以上版本 畅捷通信息技术有限公司1.为数据库建个文件组(可以建多个) ,最好是存放于不同磁盘上。这样效率得以最大化, 想一想吧,我们查一个年度所有收发记录,三个硬盘一起转,是不是原来速度的三倍? ALTER DATABASE 数据库名 ADD FILEGROUP 文件组名2.一个文件组可放置多个文件,下面,只为一个文件组分配一个文件,类推吧。ALTER DATABASE 数据库名 ADD FILE (NAME = N“文件组名“, FILENAME = N“存放路径“,SIZE = 5MB ,

5、 FILEGROWTH = 10% ) TO FILEGROUP 文件组名 3.创建分区函数。这个函数是本文件组专有的,再建其它的文件组还得再搞一个。主要是 设定,包括预设现有的数据从哪里开始水平分割,比如我们假设 U8 10.0 的上一年度最后 一行 rdrecords 记录的 Id 是 5000000,那么就可以设定这个值,这以内的记录会切割保存到 第一个分区中。CREATE PARTITION FUNCTION 函数名 (int) AS RANGE LEFT FOR VALUES (5000000,8274249,12000000)此句表示,分三个区存放原先的数据4.将分区函数绑定到分区

6、架构上 CREATE PARTITION SCHEME 架构名 AS PARTITION 函数名 TO (PRIMARY,文件组名,PRIMARY,文件组名,PRIMARY,文件组名)5.删除表的主键,必须删除,表担心,主键可以再建的 ALTER TABLE 数据表名称 DROP CONSTRAINT 主键6.删除聚集索引,如果有的话,我还没找到命令,现在是手动删除的7.开始做表分区 ALTER TABLE 数据表名称 add CONSTRAINT 主键 PRIMARY KEY CLUSTERED (主键字段名) ON SHEME_rdrec(主键字段名)你看,这不是恢复了主键吗 不过还是得手

7、动恢复原来的聚集索引,这个我再查查语句吧特别提出:特别提出: 数据库收缩并不能提高数据库的读取效率,正相反,它反而更慢了,蛋痛!原因,是收缩 后数据库内部的数据存储发生位移,也就是索引变得更低效。 这种情况下,必须再做一次索引重建,但我发现似乎只要收缩了以后,数据库都慢,重建 索引也恢复不到原来的速度,一下想不明白道理,而且做的测试次数也有限。畅捷通信息技术有限公司建议以后不要做收缩处理,没空间了买硬盘吧。最终建议:最终建议: 微软的 sqlserver 系列产品一直在进化,我从 7.0 一直用到 2008,对于习惯了 sql2000 的服 务人员来讲,要更换并熟悉一种新的数据库确实是一个挑战。这个字眼换一个吧,叫做好 奇心。是的,技术人员的最根本特性,就是要保持这种好奇心,那么无论何种旁人看来的 枯燥都是我们新奇的玩具。 sql2008 有什么特点?就速度的提升而言,并没有太大的提高,但是它将我们在 sql2005 中 必须要复杂语句处理的表分区,直接做成了向导模式,傻瓜型的,也就是说,谁都可以轻 松的胜任一个数据库管理员的工作。如果你不想记住那些复杂的语句,呃,那么来个 2008 吧。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号