]
Как выполнить часы операции запросов в Postgresql
оригинальный сложности запроса
исходные вопросы, которые должны были идентифицировать записи, которые являются «открытыми» (в пределах спецификации, которые были сценариями, которые были сценариями, которые были «открыты» (в пределах спецификации. где часы работы могут обернуться в конце недели. Чтобы упростить этот процесс, мы примем другой подход, используя структуру данных, называемую tsrange .
введение tsrange
tsrange - тип данных в Postgresql, который представляет диапазон временных метров без временной зоны. Он обеспечивает удобный способ хранения и манипулирования интервалами времени. Часы работы будут храниться в виде набора значений tsrange.
пример
Например, следующее значение tsrange представляет часы работы со среды, с 18:00 до четверга, 5:00:
'[1996-01-03 18:30, 1996-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01-01 05:00] '
Query с использованием tsrange
'[1996-01-03 18:30, 1996-01-04 05:00]'
select * От Ху Где часы @& gt; f_hoo_time (now ()) функция f_hoo_time () преобразует временную метку с часовым поясом в TimeStamp, в то время как оператор сдерживания (@>) проверяет, если текущее время попадает в указанный временной диапазон. Рекомендую создать индекс SP-GIST в столбце «Часы». Этот индекс позволяет эффективно искать диапазоны времени, что приводит к более высокой производительности запроса.
Заключение
SELECT * FROM hoo WHERE hours @> f_hoo_time(now())
, используя TSRANGE и индекс SP-GIST, мы можем значительно упростить часы операции и повысить его производительность. Этот подход более эффективный и надежный, чем оригинальный запрос.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3