Itu tergantung...
Sangat tidak mungkin bahwa indeks hanya pada column1
akan bermanfaat jika Anda sudah memiliki indeks komposit di column1, column2
. Sejak column1
adalah indeks utama, kueri terhadap tabel yang hanya memiliki column1
sebagai predikat akan dapat menggunakan indeks komposit. Jika Anda sering menjalankan kueri yang perlu melakukan pemindaian penuh terhadap indeks dan keberadaan column2
secara substansial meningkatkan ukuran indeks, ada kemungkinan indeks hanya pada column1
akan lebih efisien karena pemindaian indeks penuh perlu melakukan lebih sedikit I/O. Tapi itu adalah situasi yang sangat tidak biasa.
Indeks hanya pada column2
mungkin bermanfaat jika beberapa kueri Anda terhadap tabel menentukan predikat hanya pada column2
. Jika ada sedikit nilai yang berbeda dari column1
, ada kemungkinan Oracle dapat melakukan index skip scan menggunakan indeks komposit untuk memenuhi query yang hanya menentukan column2
sebagai predikat. Tetapi pemindaian lewati cenderung jauh kurang efisien daripada pemindaian rentang sehingga kemungkinan besar indeks hanya pada column2
akan menguntungkan pertanyaan tersebut. Jika ada sejumlah besar nilai yang berbeda untuk column1
, pemindaian lewati akan menjadi kurang efisien dan indeks hanya pada column2
akan lebih menguntungkan. Tentu saja, jika Anda tidak pernah menanyakan tabel menggunakan column2
tanpa juga menentukan predikat pada column1
, Anda tidak memerlukan indeks hanya pada column2
.