Новый для изучения SQL и просто интересующийся тем, как работают индексы, например (первичные ключи выделены жирным шрифтом):
- Hotel ( hotelNo , hotelName, city),
- Номер ( номерNo, номер отеля , тип, цена),
- Бронирование ( hotelNo, номер гостя, dateFrom , dateTo, номерNo),
- Гость ( guestNo , guestName, guestAddress)
Запрос:
SELECT
r.roomNo, r.type, r.price
FROM
Room r,
Booking b, Hotel h
WHERE
r.roomNo = b.roomNo
AND b.hotelNo = h.hotelNo
AND h.hotelName = "Hilton"
AND r.price > 200
Может кто-нибудь объяснить, как я использовал бы любую индексацию для улучшения запроса представление? Я думал просто отсортировать его по цене, чтобы серверу SQL не приходилось проверять каждую строку вручную, но есть ли другие индексы, на которые следует опираться? Кроме того, всегда ли первичные ключи являются кластерными индексами?