重建MSSQL索引:正确使用语句保证数据库优化(mssql重建索引语句)
关于MSSQL索引的重建,在微软SQL数据库中有一种常见的操作,就是重建MSSQL索引,重建过程是指重新创建或更改现有索引,索引对数据库的查询速度有着很大的影响,并且他的维护是数据库优化的关键。一般情况下,要重建MSSQL索引则需要使用相应的SQL语句,下面就学习正确使用语句来保证数据库的优化。
首先,在实际操作之前,可以使用下面的代码let usReseindex确定需要重建哪些索引:
“`sql
Select * from sys.indexes
where name like ‘IDX_%’
and has_filter = 0
and is_primarykey = 0
and is_unique_constraint = 0
and type 2
and fill_factor 90
AND avg_fragmentation_in_percent > 30
AND page_count > 1000
order by avg_fragmentation_in_percent desc
之后,可以使用如下代码为已选中的索引进行重建:
```sqlALTER INDEX [] ON [] REBUILD
WITH (FILLFACTOR = 70, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = OFF)
其中,FILLFACTOR指的是索引的填充因子,可以设置数值范围在1-100,100对应全部填充;如果填充因子设为0,则SQL Server会使用默认值,一般为90;SORT_IN_TEMPDB表示重建索引时是否会在临时数据库中排序,设置ON则会在临时库中排序,设置为OFF表示排序在当前数据库中进行;STATISTICS_NORECOMPUTE表示是否重建统计信息,设置为ON那么就会重建,将会改变索引的统计信息,设置为OFF表示不重建,不会改变索引的统计信息。
此外,还可以使用下面的语句修改分配的存储:
“`sql
ALTER INDEX [] ON [] REORGANIZE
WITH (LOB_COMPACTION = ON)
这样就可以正确使用SQL语句来重建MSSQL索引,在重建MSSQL索引时要注意优化表和索引,选择正确的参数和设置,并在重建MSSQL索引中恰当使用事务,从而保证数据库优化。