|
Модераторы: LSD |
|
polin11 |
|
||||||||||
Шустрый Профиль Группа: Участник Сообщений: 122 Регистрация: 6.6.2015 Репутация: нет Всего: нет |
Использую Postresql.
Есть таблица Documents с полями: Account тип bigint Document тип bigint User тип UUID Есть 2 индекса
Для простого запроса хочу, чтобы использовался индекс AccountUserDocument
но используется индекс AccountDocument
только есть указать у индекса AccountUserDocument тип индекса gist, то он используется
Почитал инфу про тип gist он обычно используется для полнотекстового поиска. Вопрос почему индекс не используется с типом btree, только из-за того, что в индексе есть поле UUID? Это сообщение отредактировал(а) polin11 - 21.8.2021, 18:24 |
||||||||||
|
|||||||||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Ну так вроде очевидно, что поиск по двум бигинтам эффективнее, чем когда между ними ещё и бинари-16. Хотя бы потому, что гораздо компактнее.
Вот если бы не было звезды, если бы второй индекс был покрывающим... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Одна (не) очевидная вещь - в запросе может использоваться только один индекс. И выбирается "лучший".
Сам почему то думал что если индексов навешать побольше, база "разберется" ) |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |