Мы обсуждаем, следует ли использовать параметр SORT_IN_TEMPDB для наших таблиц DW. Насколько я понимаю, при использовании этой опции больше записей, хотя они более последовательны. У нас есть SAN (который иногда был очень медленным), поэтому в нашем случае мы хотим максимально ограничить количество операций записи. Я считаю, что база данных tempdb находится на отдельном LUN (наборе дисков).
У нас достаточно места на диске в нашем файле данных и в нашем файле tempdb. В этом случае, выиграем ли мы от использования SORT_IN_TEMPDB?
Одна вещь, которая поразила меня, это комментарий к этому ответу
При перестроении индекса вам понадобится вдвое больше места индекса + 20% для сортировки. Таким образом, в целом, чтобы перестроить каждый индекс в вашей БД, вам нужно всего лишь 120% вашего самого большого индекса в вашей БД. Если вы используете SORT_IN_TEMPDB, вы выигрываете только 20%, вам все еще нужны дополнительные 100% в вашем файле данных. Более того, использование sort в базе данных tempdb резко увеличивает нагрузку ввода-вывода, поскольку вместо однократной записи индекса в файл данных вы теперь записываете его один раз в базу данных tempdb, а затем записываете его в файл данных. Так что это не всегда идеально.
Мы определенно не хотим увеличивать нашу нагрузку ввода-вывода с нашей медленной / возможно неправильно настроенной SAN.
Каков будет лучший способ проверить это? Просто перестроить таблицу с опцией и без и записать время?
Изменить : у нас есть 8 файлов tempdb, каждый 15 ГБ. У нас есть флаги TF 1117/1118 и IFI включен. В настоящее время мы делаем смесь перестройки с опцией sort_in_tempdb и без нее.
Благодарность!
SQL Server 2012 Enterprise