> 데이터 베이스 > MySQL 튜토리얼 > PostgreSQL에서 타임스탬프를 가장 가까운 5분 간격으로 효율적으로 자르는 방법은 무엇입니까?

PostgreSQL에서 타임스탬프를 가장 가까운 5분 간격으로 효율적으로 자르는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-26 15:52:10
원래의
656명이 탐색했습니다.

How to Efficiently Truncate Timestamps to the Nearest 5-Minute Interval in PostgreSQL?

Postgres에서 타임스탬프를 가장 가까운 5분 경계로 자르기

타임스탬프를 특정 간격으로 자르기 위해 Postgres는 date_trunc 기능을 제공합니다. 시간 또는 분으로 자르는 것은 간단하지만 가장 가까운 5분 경계를 찾는 것은 어렵습니다.

간단한 접근 방식에는 date_trunc를 수학 연산자와 결합하여 타임스탬프를 반올림하는 방법이 포함됩니다.

date_trunc('hour', val) + date_part('minute', val)::int / 5 * interval '5 min'
로그인 후 복사

또는 , 두 가지 다른 방법이 있습니다:

Going Through Epoch/Unix 시간:

SELECT to_timestamp(
    floor(EXTRACT(epoch FROM ht.time) / EXTRACT(epoch FROM interval '5 min'))
    * EXTRACT(epoch FROM interval '5 min')
) FROM huge_table AS ht LIMIT 4000000
로그인 후 복사

벤치마크:

비공식 벤치마크는 간단한 접근 방식이 시대보다 빠르다는 것을 보여줍니다. 방법:

Method Average Runtime
Straightforward 34.55 seconds
Epoch 39.49 seconds

결론:

우수한 성능으로 인해 Postgres에서 타임스탬프를 가장 가까운 5분 경계로 자르는 데 권장되는 간단한 방법입니다. 경우에 따라 에포크 방법이 더 다양할 수 있지만 타임스탬프를 반올림하는 데는 효율적이지 않습니다.

위 내용은 PostgreSQL에서 타임스탬프를 가장 가까운 5분 간격으로 효율적으로 자르는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿