SQLServer2005重建索引
今天发现一个页面运行很慢,用SQL Server Profiler抓出了一条运行时间为12s的sql
select * from v_wf_todo_business where dtinstance in (select dtinstance from t_wf_todo_business_sign_user where userid=244 union select dtinstance from t_wf_handle_state where handleuserid=244) and wfinstance is not null and wftbrq>='2016-05-07' and wftbrq<='2016-06-07'
把生产环境的数据库备份下来,还原到开发环境进行分析,发现只要把wftbrq>='2016-05-07'改为wftbrq>='2011-05-07',执行时间变正常了,只需要0.04s,差点以为我眼花了,时间范围变大,速度还更快了?
顿时明白了这肯定不是sql的问题,记得以前有个dba跟我说过重建索引能提高查询速度,所以就按照这里的方法进行尝试:http://www.cnblogs.com/luckybird/archive/2012/06/11/2544753.html
一、分析表的索引建立情况:DBCC showcontig('t_wf_todo_business')
DBCC SHOWCONTIG 正在扫描 't_wf_todo_business' 表...
表: 't_wf_todo_business' (1652200936);索引 ID: 1,数据库 ID: 7
已执行 TABLE 级别的扫描。
- 扫描页数................................: 1198
- 扫描区数..............................: 188
- 区切换次数..............................: 1196
- 每个区的平均页数........................: 6.4
- 扫描密度 [最佳计数:实际计数].......: 12.53% [150:1197]
- 逻辑扫描碎片 ..................: 99.33%
- 区扫描碎片 ..................: 98.94%
- 每页的平均可用字节数........................: 2613.5
- 平均页密度(满).....................: 67.71%
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
二、重建索引:DBCC DBREINDEX('t_wf_todo_business')
三、再来分析:DBCC showcontig('t_wf_todo_business')
DBCC SHOWCONTIG 正在扫描 't_wf_todo_business' 表...
表: 't_wf_todo_business' (1652200936);索引 ID: 1,数据库 ID: 7
已执行 TABLE 级别的扫描。
- 扫描页数................................: 804
- 扫描区数..............................: 105
- 区切换次数..............................: 104
- 每个区的平均页数........................: 7.7
- 扫描密度 [最佳计数:实际计数].......: 96.19% [101:105]
- 逻辑扫描碎片 ..................: 0.87%
- 区扫描碎片 ..................: 98.10%
- 每页的平均可用字节数........................: 221.3
- 平均页密度(满).....................: 97.27%
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
嗯嗯,发现扫描页数、区切换次数、扫描密度 [最佳计数:实际计数]、逻辑扫描碎片等指标都有大幅度好转。
在生产环境上也执行了一遍,再打开页面,发现一切正常了……
SQLServer2005重建索引的更多相关文章
- SQLServer2005重建索引前后对比【转】
在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建. 执行一下语句:先分析表的索引 分析表的索引建立情况:DBCC showcontig('Table') ...
- 重建索引提高SQL Server性能
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据.索引可以分为簇索引和非簇索引,簇索引通过重排表中的数 ...
- DBCC DBREINDEX重建索引提高SQL Server性能
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据.索引可以分为簇索引和非簇索引,簇索引通过重排表中的数 ...
- SQL Server 2012 批量重建索引
关于索引的概念可以看看宋大牛的博客 T-SQL查询高级—SQL Server索引中的碎片和填充因子 整个数据库的索引很多,索引碎片多了,不可能一个个的去重建,都是重复性的工作,所以索性写了个存储过程, ...
- SQL Server重建索引计划
每周日2点进行”一致性检查“ 每周六1点进行”重建索引“,重建索引会自动完成更新统计信息操作
- SQL Server通过整理索引碎片和重建索引提高速度
本文章转载:http://database.51cto.com/art/201108/282408.htm SQL Server数据库中,当索引碎片太多时,就会拖慢数据库查询的速度.这时我们可以通过整 ...
- 11G在线重建索引
SQL> select count(*) from test_idx; COUNT(*) ---------- 19087751 SQL> select segment_name,segm ...
- Oracle 重建索引脚本
该指数是一个有力的武器,以提高数据库的查询性能. 没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难.中,尤其是在批量的DML的情形下会产生对应的碎片.以及B树高度会发生对应变化.因此能够 ...
- MSSQL Rebuild(重建)索引
MSSQL Rebuild(重建)索引 前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql: DECLARE @tab ...
随机推荐
- HDU1241 Oil Deposits 2016-07-24 13:38 66人阅读 评论(0) 收藏
Oil Deposits Problem Description The GeoSurvComp geologic survey company is responsible for detectin ...
- Apache服务器的简单配置与安全策略
在之前讲的关于weevely后门分析中,有说到利用Apache的配置文件.htaccess来隐藏php后门.关于.htaccess文件的用途,在此结合Apache服务器的具体配置作一详解,也算是自己的 ...
- 四则运算(Java)--温铭淇,付夏阳
GitHub项目地址: https://github.com/fxyJAVA/Calculation 四则运算项目要求: 程序处理用户需求的模式为: Myapp.exe -n num -r size ...
- fastreport字体加粗
procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin IF (<frxDB_cdsresult."res_C ...
- 设计模式总结(《Head First设计模式》学习总结)
写在前面: 学习过程中不仅要熟练掌握技能,理论的消化吸收也必不可少.虽然个人更倾向于学习技术类的东西(短时间的精力投入很快就能看到成效...),但看了很多前辈的经验总结后才知道理论性的东西是绝对不能忽 ...
- .NET Core MemoryCache缓存获取全部缓存键
在Core中不能使用原HttpRuntime.Cache缓存,改为MemoryCache(Microsoft.Extensions.Caching.Memory). 现MemoryCache新版为2. ...
- VUE.js 中取得后台原生HTML字符串 原样显示问题
今天使用vue调试页面,发现了页面上的一个问题,后台数据传过来的HTML字符串并没有被转换为正常的HTML代码,一拍脑门,发现忘记转换了,于是满心欢喜加上了{{{}}}.但是之后构建发现报错: 为此去 ...
- From Alpha to Gamma (I)
What we think of as conventional alpha-blending is basically wrong. --Tom Forsyth 前段时间在Amazon上淘的三本二手 ...
- GSS1 - Can you answer these queries I(线段树)
前言 线段树菜鸡报告,stO ZCDHJ Orz,GSS基本上都切完了. Solution 考虑一下用线段树维护一段区间左边连续的Max,右边的连续Max,中间的连续Max还有总和,发现这些东西可以相 ...
- linux 修改MTU值
Linux系统还可以通过如下方式查看.修改MTU值. 查看:cat /sys/class/net/eth0/mtu 设置:echo "1460" > /sys/class/n ...