Редът на колоните в таблицата ще има много малко влияние върху производителността в сравнение с въздействието върху производителността на дизайна на вашата база данни (обекти, атрибути и връзки), дизайна на вашата транзакция и дизайна на вашата заявка.
За да разберете дали разликата не е незначителна, наистина трябва да настроите някои тестове и да сравните резултатите.
Обикновено поставям първичния ключ като първа колона, след това външния ключ(ове), а след това естествените ключове и колоните с често достъп. Обикновено поставям по-дългите струни към края на реда. Но това не е непременно оптимизация на производителността, колкото е предпочитание за стил, което използвам за удобство.
Редът на колоните може да окаже влияние върху размера на реда в SQL Server, когато голям брой колони в реда са нулеви и повечето от тези колони съдържат NULL. SQL Server (като Oracle) има оптимизация, при която не е запазено място за колони, които съдържат NULL стойности В КРАЯ на реда. За всяка колона в реда е запазено малко пространство до последната стойност, различна от NULL в реда.
Изводът от това е, че ако имате много нулеви колони, искате колоните, които най-често не са NULL ПРЕДИ колоните, които най-често са NULL.
ЗАБЕЛЕЖКА:Имайте предвид, че SQL Server подрежда колоните в таблица първо според това дали колоната е с фиксирана дължина или с променлива дължина. Първо се съхраняват всички колони с фиксирана дължина, след това следвани от всички колони с променлива дължина. В рамките на тези набори от колони (фиксирани и променливи) колоните се съхраняват в реда, в който са дефинирани.