SQL优化求大神指点
DBCC SHOWCONTIG('表名') --词语句可以查询出表此时的状态
扫描页数 | 表或索引的页数。 |
扫描扩展盘区数 | 表或索引中的扩展盘区数。 |
扫描密度 [最佳值:实际值] | 最佳值是指在一切都连续地链接的情况下,扩展盘区更改的理想数目。实际值是指扩展盘区更改的实际次数。如果一切都连续,则扫描密度数为 100;如果小于 100,则存在碎片。扫描密度为百分比值。 |
逻辑扫描碎片 | 对索引的叶级页扫描所返回的无序页的百分比。该数与堆集和文本索引无关。无序页是指在 IAM 中所指示的下一页不同于由叶级页中的下一页指针所指向的页。 |
平均每页上的平均可用字节数 | 所扫描的页上的平均可用字节数。数字越大,页的填满程度越低。数字越小越好。该数还受行大小影响:行大小越大,数字就越大。 |
平均页密度(完整) | 平均页密度(为百分比)。该值考虑行大小,所以它是页的填满程度的更准确表示。百分比越大越好。 |
- 目前以我现在的认知可以对表进行建立聚集索引,如果已有聚集索引,我们可以删除重新建立。
- 我们还可以在数据》管理》维护计划右键》维护计划向导。在这里面可设置自动任务,可以在指定时间去重新生成索引。
项目 | 描述 |
“重新组织索引” | 任务可以对表和视图的聚集索引和非聚集索引进行碎片整理和压缩。这将提高索引扫描性能。 |
“重新生成” | 任务通过重新生成索引来重新组织数据页和索引页上的数据。这会改善索引扫描和查找的性能。此任务还可以优化数据和可用空间在索引页上的分布,能够承受未来更快的增长速度。 |
SQL自增长的配置
看到网上的评论自动增长的每次的大小不宜为百分比,但是如果每次的增长量小会造成垃圾碎片,所以这里我设置500MB,进行测试。