«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как может упростить и оптимизировать часы операции PostgreSQL?

Как может упростить и оптимизировать часы операции PostgreSQL?

Опубликовано в 2025-03-24
Просматривать:895

] How Can PostgreSQL's `tsrange` Simplify and Optimize Hours of Operation Queries?

Как выполнить часы операции запросов в 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