172 похожих чатов

Как-То можно "подсказать" постгри использовать индекс? Есть табличка: id, date, my_field, пачка

других разных полей

У меня все запросы из области date = some_date AND my_field IS NULL + разные проверки по другим полям в разных запросах. Но часть ( date = some_date AND my_field IS NULL ) общая для всех запросов и по этому условию построен индекс. И как я не бьюсь, как только в WHERE попадают другие поля этой таблички, то сразу Seq Scan, а не поиск по индексу. Хочется победить.

4 ответов

7 просмотров

https://t.me/pgsql/303899

John-Smith Автор вопроса
Сергей Кравчук
https://t.me/pgsql/303899

Версия 12 SELECT schedule.* FROM public.schedule, public.some_table WHERE some_table.id = 4 AND -- Индекс построен на эти три поля в таком виде и отлично используется, если другие поля schedule не проверяются -- Следующие три строчки общие для всех запросов (schedule.start_date_time AT TIME ZONE 'UTC')::date >= (some_table.start_date_time AT TIME ZONE 'UTC')::date AND (schedule.start_date_time AT TIME ZONE 'UTC')::date <= (some_table.end_date_time AT TIME ZONE 'UTC')::date AND schedule.resources_appointment_id IS NOT NULL AND -- Из-за этого условия перестаёт использоваться индекс -- А эти условия разные в разных запросах, в т.ч. могут проверяться другие поля таблицы schedule schedule.room_id = 7

John Smith
Версия 12 SELECT schedule.* FROM public...

" покажите все 4 (четыре) " https://t.me/pgsql/303899

John-Smith Автор вопроса
Сергей Кравчук
" покажите все 4 (четыре) " https://t.me/pgsql/303...

Это никак не изменит сути вопроса, если я покажу структуру таблиц

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
Как попросить stack install делать executable без .exe на винде?
Danila Danko
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Карта сайта