Nous discutons de l'opportunité d'utiliser l'option SORT_IN_TEMPDB pour nos tables DW. Ma compréhension est qu'il y a plus d'écritures lors de l'utilisation de cette option, bien qu'elles soient plus séquentielles. Nous avons un SAN (qui a parfois été notoirement lent), dans notre cas, nous voulons limiter le nombre d'écritures autant que possible. Je crois que tempdb est sur un LUN (ensemble de disques) distinct.
Nous avons beaucoup d'espace disque dans notre fichier de données et sur notre fichier tempdb. Dans ce cas, serait-il avantageux d'utiliser SORT_IN_TEMPDB?
Une chose qui m'a frappé était ce commentaire sur cette réponse
Lors de la reconstruction d'un index, vous auriez besoin du double de l'espace de l'index + 20% pour le tri. Donc, en général, pour reconstruire chaque index de votre base de données, vous n'avez besoin que de 120% de votre plus grand index dans votre base de données. Si vous utilisez SORT_IN_TEMPDB, vous ne gagnez que 20%, vous avez encore besoin d'un 100% supplémentaire dans votre fichier de données. De plus, l'utilisation de sort dans tempdb augmente considérablement votre charge d'E / S, car au lieu d'écrire une fois l'index dans le fichier de données, vous l'écrivez maintenant une fois dans la tempdb, puis l'écrivez dans le fichier de données. Ce n'est donc pas toujours idéal.
Nous ne voulons certainement pas augmenter notre charge d'E / S avec notre SAN lent / éventuellement mal configuré.
Quelle serait la meilleure façon de tester cela? En reconstruisant simplement la table avec et sans l'option et en enregistrant les heures?
Edit : Nous avons 8 fichiers tempdb, chacun de 15 Go. Nous avons des drapeaux TF 1117/1118 et IFI est activé. Nous faisons actuellement un mélange de reconstruction avec l'option sort_in_tempdb et sans elle.
Merci!
SQL Server 2012 Enterprise