Мне трудно поверить, что это связано с реальной проблемой. Как написано, я ожидаю, что это будет возвращать одно и то же имя клиента снова и снова.
Я бы порекомендовал следующие индексы:
customers(cus_id, gender, book_id, name)
hotels(cus_id)
bookings(book_id)
Действительно странно, что bookings
не в отеле.
Во-первых, эти индексы охватывают запрос, поэтому доступ к страницам данных не требуется. Логика заключается в том, чтобы начать с предложения where
и сначала использовать эти столбцы. Затем добавьте дополнительные столбцы из предложений on
и select
.
Для hotels
и bookings
используется только один столбец, поэтому эти индексы тривиальны.
Использование OFFSET
без ORDER BY
весьма подозрительно. В любом случае результирующий набор имеет неопределенный порядок, поэтому нет оснований пропускать номинально «первое» значение.