Что обычно более эффективно между проверкой включения в диапазон и заказом таблицы? - PullRequest
0 голосов
/ 25 октября 2018

Я рассматриваю два различных варианта оформления таблицы.

Один из них включает столбец lifetime, в котором хранится tstzrange, определяющий время жизни записи.lifetime различных строк никогда не перекрывается в фильтрах, определенных интересующим меня запросом. Поле индексируется с помощью:

create index on table_name using gist (lifetime);

В другом просто поле created_at будет проиндексировано как:

create index on table_name (created_at);

Есть ли разница в производительности между:

select ...
from table_name
where ...
and lifetime @> now()

и:

select ...
from table_name
where ...
and created_at <= now()
order by created_at desc
limit 1

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...