Der er to potentielle indekseringsstrategier her, afhængigt af hvilken af de to tabeller, der vises på venstre side af den indre joinforbindelse (en af tabellerne kan potentielt vises på hver side af joinforbindelsen). Da HotelRoom tabellen indeholder sandsynligvis mange flere poster end Hotel tabel, vil jeg foreslå at placere Hotel bord i venstre side af sammenføjningen. Dette ville indebære, at Hotel tabellen ville blive scannet, og indekset brugt til sammenføjningen til HotelRoom . Derefter kan vi prøve at bruge følgende indeks på HotelRoom :
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled, Name, RoomId);
Dette bør fremskynde joinforbindelsen betydeligt, dækker WHERE klausul, og dækker også alle kolonner i select on HotelRoom . Bemærk, at følgende forenklede indeks også kan være meget effektivt:
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled);
Dette dækker kun sammenføjningen og WHERE klausul, men MySQL kan stadig vælge at bruge den.