Urutan kolom dalam tabel akan berdampak sangat kecil pada kinerja, dibandingkan dengan dampak kinerja desain database Anda (entitas, atribut, dan hubungan), desain transaksi, dan desain kueri Anda.
Untuk mengetahui apakah perbedaannya tidak dapat diabaikan, Anda benar-benar perlu menyiapkan beberapa pengujian, dan membandingkan hasilnya.
Biasanya, saya meletakkan kunci utama sebagai kolom pertama, lalu kunci asing, dan kemudian kunci alami dan kolom yang sering diakses. Saya biasanya meletakkan string yang lebih panjang di akhir baris. Tapi ini belum tentu pengoptimalan kinerja, sebanyak itu adalah preferensi gaya yang saya gunakan untuk kenyamanan.
Urutan kolom dapat berdampak pada ukuran baris di SQL Server, ketika sejumlah besar kolom dalam satu baris tidak dapat dibatalkan dan sebagian besar kolom tersebut berisi NULL. SQL Server (seperti Oracle) memiliki optimasi di mana tidak ada ruang yang disediakan untuk kolom yang berisi nilai NULL DI AKHIR baris. Beberapa ruang disediakan untuk setiap kolom di baris, hingga nilai non-NULL terakhir di baris.
Kesimpulannya adalah jika Anda memiliki banyak kolom nullable, Anda ingin kolom yang paling sering tidak NULL SEBELUM kolom yang paling sering NULL.
CATATAN:Perlu diingat bahwa SQL Server memesan kolom dalam tabel terlebih dahulu berdasarkan apakah kolom tersebut memiliki panjang tetap atau panjang variabel. Semua kolom panjang tetap disimpan terlebih dahulu, kemudian diikuti oleh semua kolom panjang variabel. Dalam kumpulan kolom tersebut (tetap dan variabel), kolom disimpan dalam urutan yang ditentukan.