Ada dua strategi pengindeksan potensial di sini, tergantung pada mana dari dua tabel yang muncul di sisi kiri gabungan dalam (salah satu tabel berpotensi muncul di kedua sisi gabungan). Mengingat bahwa HotelRoom tabel kemungkinan berisi lebih banyak catatan daripada Hotel tabel, saya sarankan menempatkan Hotel tabel di sisi kiri gabungan. Ini menyiratkan bahwa Hotel tabel akan dipindai, dan indeks yang digunakan untuk bergabung ke HotelRoom . Kemudian, kita dapat mencoba menggunakan indeks berikut di HotelRoom :
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled, Name, RoomId);
Ini akan mempercepat penggabungan secara substansial, mencakup WHERE klausa, dan juga mencakup semua kolom di pilih di HotelRoom . Perhatikan bahwa indeks sederhana berikut mungkin juga sangat efektif:
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled);
Ini hanya mencakup bergabung dan WHERE klausa, tetapi MySQL mungkin masih memilih untuk menggunakannya.