Kami sedang berdebat apakah akan menggunakan opsi SORT_IN_TEMPDB untuk tabel DW kami. Pemahaman saya adalah bahwa ada lebih banyak menulis saat menggunakan opsi ini, meskipun mereka lebih berurutan. Kami memiliki SAN (yang terkadang sangat lambat), jadi dalam kasus kami kami ingin membatasi jumlah penulisan sebanyak mungkin. Saya percaya tempdb berada di LUN terpisah (set disk).
Kami memiliki banyak ruang disk dalam file data kami dan pada file tempdb kami. Dalam hal ini, apakah kita akan mendapat manfaat dari menggunakan SORT_IN_TEMPDB?
Satu hal yang mengejutkan saya adalah komentar tentang Jawaban ini
Saat membangun kembali indeks, Anda akan membutuhkan dua kali ruang indeks + 20% untuk penyortiran. Jadi secara umum untuk membangun kembali setiap indeks di db, Anda hanya perlu 120% dari indeks terbesar di DB. Jika Anda menggunakan SORT_IN_TEMPDB, Anda hanya menang 20%, Anda masih membutuhkan tambahan 100% dalam file data Anda. Lebih jauh lagi, menggunakan sort in tempdb meningkatkan beban IO Anda secara drastis, karena alih-alih menulis indeks satu kali ke filefile, Anda sekarang menulisnya satu kali ke tempdb dan kemudian menulisnya ke file data. Jadi itu tidak selalu ideal.
Kami jelas tidak ingin menambah muatan IO kami dengan SAN kami yang lambat / kemungkinan tidak terkonfigurasi.
Apa cara terbaik untuk menguji ini? Dengan hanya membangun kembali tabel dengan dan tanpa opsi dan mencatat waktu?
Sunting : Kami memiliki 8 file tempdb, masing-masing 15GB. Kami memiliki flag TF 1117/1118 yang diatur dan IFI diaktifkan. Kami saat ini melakukan campuran pembangunan kembali dengan opsi sort_in_tempdb dan tanpa itu.
Terima kasih!
SQL Server 2012 Enterprise