如何:对聚集索引中的数据进行排序
更新:2007 年 11 月
在创建或修改 Microsoft SQL Server 数据库中的聚集索引时,可以设置一个选项来控制对索引中的数据进行排序的时间。既可以在创建索引时对数据进行排序,也可以在表凌乱不整后排序并重组数据。有关导致表凌乱不整的原因以及建议解决方案的详细信息,请参见 SQL Server Books Online(《SQL Server 联机丛书》)中的“DBCC CHECKDB”主题。
在上述两个选项中,创建索引时对数据进行排序这一选项总是较快,原因在于它不需要复制数据,也不需要重新生成非聚集索引。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
对索引值进行排序
在服务器资源管理器中右击包含将要排序的索引值的表,再从快捷菜单中单击“打开表定义”。
选择快捷菜单中的“索引/键”。
从“选定的索引”列表中选择索引。
确保“创建为聚集的”选项已选定。
如果所使用的是 SQL Server 6.5,则排序选项将会公开,必须从这些排序选项选择一个:
选项
操作
数据排序
默认选项。在创建索引时对数据进行排序。
数据已经排序
消除在创建聚集索引时所执行的排序,通过检查每个索引值确定其是否比上一个值高来验证数据是否已排序。如果任何行在此检查中失败,则无法在尝试保存表时创建索引。
当数据满足该检查时,由于不复制数据,也不重新生成非聚集索引,所以此选项总是比“重组排序数据”选项快。当指定填充因子以压缩或展开存储该表的页时,此选项非常有用。
有关填充因子的更多信息,请参见“为索引指定填充因子”。
重组排序数据
除由于复制数据并重新生成非聚集索引而导致此选项的速度总是较慢外,此选项与“数据已经排序”相同。在表凌乱不整且希望对索引值重新排序时,最好重组数据。
说明: “数据已经排序”用 SORTED_DATA 选项来创建聚集索引。“重组排序数据”用 SORTED_DATA_REORG 选项来创建聚集索引。如果选择这两个选项中的任何一个且任何行在检查中失败,则在保存表时创建索引的尝试将失败。发生这种情况时,可以修复数据或选择“数据排序”选项。
最后单击“关闭”。