重建索引解决mssql表查询超时的问题
表已有数据,150万+,执行一个group by 的查询出现超时,一个一个条件减少尝试,前几个where条件不超时,而在加上最后一个条件时就超时了。
 分析表的索引建立情况:DBCC showcontig('Table') 
DBCC SHOWCONTIG 正在扫描 'Table'' 表... 
表: 'Table'' (53575229);索引 ID: 1,数据库 ID: 14 
已执行 TABLE 级别的扫描。 
- 扫描页数................................: 228 
- 扫描区数..............................: 52 
- 区切换次数..............................: 225 
- 每个区的平均页数........................: 4.4 
- 扫描密度 [最佳计数:实际计数].......: 12.83% [29:226] 
- 逻辑扫描碎片 ..................: 97.37% 
- 区扫描碎片 ..................: 98.08% 
- 每页的平均可用字节数........................: 2686.3 
- 平均页密度(满).....................: 66.81% 
当你发现,扫描密度行,最佳计数和实际计数的比例已经严重失调,逻辑扫描碎片占了非常大的百分比,每页平均可用字节数非常大时,就说明 
你的索引需要重新整理一下了。 
执行重建索引命令: 
DBCC DBREINDEX('Table'') 
后分析的情况 
DBCC SHOWCONTIG 正在扫描 'Table'' 表... 
表: 'Table'' (53575229);索引 ID: 1,数据库 ID: 14 
已执行 TABLE 级别的扫描。 
- 扫描页数................................: 154 
- 扫描区数..............................: 20 
- 区切换次数..............................: 19 
- 每个区的平均页数........................: 7.7 
- 扫描密度 [最佳计数:实际计数].......: 100.00% [20:20] 
- 逻辑扫描碎片 ..................: 0.00% 
- 区扫描碎片 ..................: 55.00% 
- 每页的平均可用字节数........................: 86.8 
- 平均页密度(满).....................: 98.93%
作者:数据酷软件
出处:https://www.cnblogs.com/datacool/p/reindex_mssql-2013.html
关于作者:20年编程从业经验,持续关注MES/ERP/POS/WMS/工业自动化
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
联系方式: qq:71008973;wx:6857740733
基于人脸识别的考勤系统 地址: https://gitee.com/afeng124/viewface_attendance_ext
自己开发安卓应用框架 地址: https://gitee.com/afeng124/android-app-frame
WPOS(warehouse+pos) 后台演示地址: http://47.239.106.75:8080/

                
            
        
浙公网安备 33010602011771号