|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.06.2018, 16:25 | #1 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
Как заставить Postgres использовать определенный индекс
Есть запрос, использую СУБД Postgresql
Код:
(Field2 и Field3). Если в запросе указать ограничение LIMIT, то используется индекс по полю Field1 и потребляется много ресурсов. Если в запросе убрать ограничение LIMIT, то используется составной индекс (Field2 и Field3) ресурсов тратиться в 2 раза меньше, но время выполнения запроса в несколько раз больше. Вопрос можно ли в запросе оставить LIMIT 100 и обязать Postgres использовать составной индекс? |
06.06.2018, 17:28 | #2 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
Например, если изменить запрос на
Код:
|
07.06.2018, 01:49 | #3 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
К сожалению даже такой сокращенный запрос
Код:
Планировщик использует индекс по полю Field1, а не индекс по полю Field2. Fileld2 поле типа text, индекс добавлен с классом операторов text_pattern_ops. Для примера , если изменить запрос Код:
или Код:
даже такой запрос, с другим фильтром "Field2" = 'val1' Код:
То во всех случаях используется индекс по полю Field2, но в этих случаях время выполнения запроса слишком большое |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хеш-таблица, метод цепочек, первичный индекс и вторичный индекс - C# | AnatoliyAnatoliy | Помощь студентам | 2 | 09.01.2018 15:30 |
C++ Как узнать изменился ли определенный символ? | BuBucha | Помощь студентам | 1 | 18.05.2017 14:57 |
Как повернуть на определенный угол график | Gamst | Общие вопросы Delphi | 4 | 01.02.2012 16:19 |
как получить данные из Postgres в Лист Эксель | briz_tomsk | Microsoft Office Excel | 0 | 16.04.2009 14:18 |
как суммировать только определенный месяц? | Алька | Microsoft Office Excel | 2 | 08.05.2007 08:50 |