Tidak, SQL Server tidak secara otomatis membuat indeks yang tidak berkerumun.
Indeks berkerumun dibuat secara otomatis berdasarkan kunci utama, kecuali CREATE TABLE
Anda pernyataan mengatakan sebaliknya.
Ya, saya akan merekomendasikan pengindeksan kolom kunci asing karena ini adalah yang paling mungkin untuk DIGABUNG/dicari menggunakan IN
, EXISTS
, dll. Namun, perlu diketahui bahwa indeks pada kumpulan nilai kardinalitas rendah (misalnya jenis kelamin) akan relatif tidak berguna karena perbedaan nilainya tidak cukup.
Trade-off dengan semua indeks adalah mereka dapat mempercepat pengambilan data, tetapi memperlambat penyisipan/pembaruan/penghapusan data. Ada juga pemeliharaan yang perlu dilakukan karena dapat terfragmentasi (seperti hard drive) tetapi juga mungkin tidak digunakan seiring waktu. Indeks juga menggunakan ruang drive.