Тук има две потенциални стратегии за индексиране, в зависимост от това коя от двете таблици се появява от лявата страна на вътрешното съединение (всяка таблица може да се появи от двете страни на съединението). Като се има предвид, че HotelRoom таблицата вероятно съдържа много повече записи от Hotel таблица, предлагам да поставите Hotel маса от лявата страна на съединението. Това би означавало, че Hotel таблицата ще бъде сканирана и индексът, използван за присъединяването към HotelRoom . След това можем да опитаме да използваме следния индекс в HotelRoom :
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled, Name, RoomId);
Това би трябвало да ускори значително присъединяването, покрива WHERE клауза, а също така обхваща всички колони в избора на HotelRoom . Имайте предвид, че следният опростен индекс също може да бъде много ефективен:
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled);
Това обхваща само присъединяването и WHERE клауза, но MySQL все пак може да избере да го използва.