Ha sh индексы с условиями в PG10 - PullRequest
       105

Ha sh индексы с условиями в PG10

0 голосов
/ 06 августа 2020

Я использую Postgresql 10, и у меня есть таблица со следующей структурой:

primary_key_id;....;foreign_key_id

foreign_key_id поле bigint восходящее ненулевое поле, и у меня был индекс ha sh на нем . Он был слишком большим, и я решил создать два частичных индекса с условием foreign_key_id > <SOME_VALUE> и foreign_key_id <= <SOME_VALUE> и поместить индекс со «старыми» данными в другое табличное пространство.

Я успешно создал их, но их размеры равны практически то же самое (17Гб против 19Гб), но в новых индексах должно быть очень мало данных.

Что я делаю не так? Заранее спасибо.

1 Ответ

0 голосов
/ 07 августа 2020

Это известная ошибка , которая никогда не исправлялась. Индексы Ha sh оценивают начальный размер, но не принимают во внимание частичную природу, когда так или иначе завышают этот начальный размер. Почему бы просто не использовать индекс по умолчанию (btree)?

...