Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PostgreSQL > Index для UUID |
Автор: polin11 21.8.2021, 18:23 | ||||||||||
Использую Postresql. Есть таблица Documents с полями: Account тип bigint Document тип bigint User тип UUID Есть 2 индекса
Для простого запроса хочу, чтобы использовался индекс AccountUserDocument
но используется индекс AccountDocument
только есть указать у индекса AccountUserDocument тип индекса gist, то он используется
Почитал инфу про тип gist он обычно используется для полнотекстового поиска. Вопрос почему индекс не используется с типом btree, только из-за того, что в индексе есть поле UUID? |
Автор: Akina 21.8.2021, 21:46 |
Ну так вроде очевидно, что поиск по двум бигинтам эффективнее, чем когда между ними ещё и бинари-16. Хотя бы потому, что гораздо компактнее. Вот если бы не было звезды, если бы второй индекс был покрывающим... |
Автор: _zorn_ 28.8.2021, 16:41 |
Одна (не) очевидная вещь - в запросе может использоваться только один индекс. И выбирается "лучший". Сам почему то думал что если индексов навешать побольше, база "разберется" ) |