Saya setuju dengan Cade Roux.
Artikel ini akan membawa Anda ke jalur yang benar:
- Indeks di SQL Server 2005/2008 – Praktik Terbaik, Bagian 1
- Indeks di SQL Server 2005/2008 – Bagian 2 – Internal
Satu hal yang perlu diperhatikan, indeks berkerumun harus memiliki kunci unik (kolom identitas yang saya sarankan) sebagai kolom pertama. Pada dasarnya ini membantu memasukkan data Anda di akhir indeks dan tidak menyebabkan banyak IO disk dan pemisahan Halaman.
Kedua, jika Anda membuat indeks lain pada data Anda dan dibuat dengan cerdas, indeks tersebut akan digunakan kembali.
misalnya bayangkan Anda mencari tabel di tiga kolom
negara bagian, kabupaten, pos.
- Anda terkadang hanya mencari berdasarkan negara bagian.
- Anda terkadang menelusuri menurut negara bagian dan kabupaten.
- Anda sering mencari berdasarkan negara bagian, kabupaten, kode pos.
Kemudian indeks dengan negara bagian, kabupaten, zip. akan digunakan di ketiga pencarian ini.
Jika Anda mencari cukup banyak dengan zip saja maka indeks di atas tidak akan digunakan (oleh SQL Server pula) karena zip adalah bagian ketiga dari indeks itu dan pengoptimal kueri tidak akan melihat indeks itu sebagai membantu.
Anda kemudian dapat membuat indeks di Zip saja yang akan digunakan dalam contoh ini.
Omong-omong, Kami dapat mengambil keuntungan dari fakta bahwa dengan pengindeksan Multi-Kolom, kolom indeks pertama selalu dapat digunakan untuk pencarian dan ketika Anda mencari hanya dengan 'status', ini efisien tetapi belum seefisien indeks Kolom Tunggal pada 'status '
Saya kira jawaban yang Anda cari adalah bahwa itu tergantung pada klausa mana dari kueri yang sering Anda gunakan dan juga menurut grup Anda.
Artikelnya akan banyak membantu. :-)