Насколько Postgres может повторно использовать индексы? - PullRequest
0 голосов
/ 03 июня 2011

Например, если я строю индекс на

A, B, C

И затем впоследствии построить индекс на

A, B, D

Используется ли оригинальная часть A, B или все заново с нуля?

Ответы [ 2 ]

2 голосов
/ 03 июня 2011

Нет, каждый индекс - это новый отдельный объект. Проверьте pg_class .

Редактировать: Вам не нужно создавать два индекса, удерживающие столбцы A и B дважды. Создайте индекс для A, B и C, а затем другой индекс для D. PostgreSQL может использовать два индекса, когда это необходимо.

0 голосов
/ 03 июня 2011

Это новый индекс каждый раз, как отмечал Фрэнк.

Также обратите внимание, что часто достаточно одного столбца индекса, если только вы постоянно не упорядочиваете по C с соответствующим ограничением where для Aи B вместе с предельной оговоркой.В противном случае планировщик Postgres будет достаточно умен, чтобы использовать индекс растрового изображения , как обсуждалось в примечаниях к документации по многостолбцовым индексам .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...