А в таком не будет:
SELECT * FROM bookings WHERE total_amount > 900000 ...
Частичные индексы выглядят очень привлекательно, но в большинстве случаев их
преимущества по сравнению с обычными индексами будут минимальными (см. за-
дание 9). Однако размер частичного индекса будет меньше, чем размер обычного.
Для получения заметного полезного эффекта от их применения необходим опыт и
понимание того, как работают индексы в PostgreSQL.
Контрольные вопросы и задания
1. Предположим, что для какой-то таблицы создан уникальный индекс по двум
столбцам: column1 и column2. В таблице есть строка, у которой значение атри-
бута column1 равно «ABC», а значение атрибута column2 — NULL. Мы решили
добавить в таблицу еще одну строку с такими же значениями ключевых атри-
бутов, т. е. column1 — «ABC», а column2 — NULL.
Как вы думаете, будет ли операция вставки новой строки успешной или завер-
шится с ошибкой? Объясните ваше решение.
2. В тексте главы шла речь о выполнении одной и той же выборки из таблицы «Би-
леты» (tickets) при наличии индекса по столбцу passenger_name и при его отсут-
ствии. Вы видели, что наличие индекса ускоряет выполнение запроса почти на
порядок.
Если секундомер в утилите psql выключен, то включите его с помощью команды
\timing on
Проведите следующий эксперимент: выполните этот запрос несколько раз под-
ряд при отсутствии индекса, а затем создайте индекс и опять выполните этот
запрос несколько раз подряд.
Достарыңызбен бөлісу: