Có hai chiến lược lập chỉ mục tiềm năng ở đây, tùy thuộc vào bảng nào trong số hai bảng xuất hiện ở phía bên trái của phép nối bên trong (một trong hai bảng có thể xuất hiện ở cả hai phía của phép nối). Cho rằng HotelRoom bảng có thể chứa nhiều bản ghi hơn Hotel bàn, tôi khuyên bạn nên đặt Hotel bảng ở bên trái của phép nối. Điều này có nghĩa là Hotel bảng sẽ được quét và chỉ mục được sử dụng để tham gia vào HotelRoom . Sau đó, chúng tôi có thể thử sử dụng chỉ mục sau trên HotelRoom :
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled, Name, RoomId);
Điều này sẽ tăng tốc độ tham gia đáng kể, bao gồm WHERE và cũng bao gồm tất cả các cột trong phần chọn trên HotelRoom . Lưu ý rằng chỉ mục được đơn giản hóa sau đây cũng có thể rất hiệu quả:
CREATE INDEX hotel_room_idx ON HotelRoom (HotelId, Deleted, Enabled);
Điều này chỉ bao gồm tham gia và WHERE nhưng MySQL vẫn có thể chọn sử dụng nó.