Pořadí sloupců v tabulce bude mít velmi malý dopad na výkon ve srovnání s dopadem na výkon návrhu vaší databáze (entit, atributů a vztahů), návrhu transakce a návrhu dotazu.
Abyste zjistili, zda je rozdíl nezanedbatelný, budete opravdu muset nastavit nějaké testy a porovnat výsledky.
Obvykle vkládám primární klíč jako první sloupec, poté cizí klíč (klíče) a poté přirozené klíče a často používané sloupce. Obvykle dávám delší provázky ke konci řady. Nejedná se však nutně o optimalizaci výkonu, jako spíše o preferenci stylu, kterou používám pro pohodlí.
Pořadí sloupců může mít vliv na velikost řádku na SQL Server, když velký počet sloupců v řádku má hodnotu Null a většina těchto sloupců obsahuje NULL. SQL Server (jako Oracle) má optimalizaci, kde není vyhrazeno žádné místo pro sloupce, které obsahují hodnoty NULL NA KONCI řádku. Pro každý sloupec v řádku je vyhrazeno určité místo až do poslední hodnoty v řádku, která není NULL.
Z toho plyne, že pokud máte mnoho sloupců s možnou hodnotou NULL, chcete, aby sloupce, které nejčastěji nemají hodnotu NULL, před sloupci, které jsou nejčastěji NULL.
POZNÁMKA:Mějte na paměti, že SQL Server nejprve seřadí sloupce v tabulce podle toho, zda má sloupec pevnou délku nebo proměnnou délku. Nejprve se uloží všechny sloupce s pevnou délkou, poté následují všechny sloupce s proměnnou délkou. V rámci těchto sad sloupců (pevných a proměnných) jsou sloupce uloženy v pořadí, v jakém jsou definovány.