系统数据库tempdb用来管理用户连接、临时表、临时存储过程或SQL Server实例中处理查询需要的晒时工作表。根据SQL Server实例中数据库的活动性,有时可以通过将tempdb数据库从其他数据库分离出来,使用它自己的磁盘阵列来获得性能方面的提升。如果索引创建时间比期望的要民很多.可以尝试使用索引选项SORT_IN_TElvlPDB来提升索引创建性能(对于大型表)。这个选项把临时索引创建结果放置在tampdb数据库中,而不是使用索引所在的用户数据库。
这个选项可以用在CREATE INDEX和ALTER INDEX中,它的语法如下所示:
WITH (SORT_IN_TEMPDB =(ON I OFF})
这个选项的默认值为OFF。例如,启用这个选项来创建新的非聚集索引:
USE AdventureWorks
GOCREATE NONCLUSTERED INDEX NI_Address_PostalCode ON
Person.address (PostalCode)
WITH (SORT_IN_TEMPDB=ON)
SORT_IN_TEMPDB选项启用了使用tempdb数据库保存中间的索引结果。这个选项可以减少创建大型表索引所花费的时间,但作为代价,系统数据库tempdb将需要额外的空间来参与这个操作。