从开发人员的角度来看,我熟悉索引概念,但对创建和维护索引很陌生。我们的大多数索引都是使用SORT_IN_TEMPDB=On
选项创建的,该选项告诉 SQL Servertempdb
用于索引期间涉及的排序操作。
使用tempdb
for indexing 应该加快排序并通过使用 tempdb 资源来减少来自用户数据库的一些 IO 负载。
我最近遇到了一个索引定义SORT_IN_TEMPDB=Off
,它告诉 SQL 服务器在用户数据库中进行排序。
问题:
- 不会
SORT_IN_TEMPDB=off
因为排序将使用用户数据库资源而减慢用户数据库的速度吗? - 哪些因素通常会影响使用的决定
SORT_IN_TEMPDB=off
?