「tsrange」を使用して PostgreSQL の稼働時間を効率的にクエリするにはどうすればよいですか?
Jan 05, 2025 am 01:39 AMこの操作時間のクエリを PostgreSQL で実行する
PostgreSQL では、tsrange データ型を使用して、時刻を含まないタイムスタンプの範囲を表すことができますゾーン。これは、週末に重なる可能性がある営業時間中のクエリを簡素化するために使用できます。
テーブル レイアウト
次のスキーマで新しいテーブルを作成します。 :
CREATE TABLE hoo ( hoo_id serial PRIMARY KEY, shop_id int NOT NULL, hours tsrange NOT NULL );
時間列には、それぞれの営業時間が保存されます。 shop.
データの挿入
f_hoo_hours() 関数を使用して hoo テーブルにデータを挿入できます。この関数は 2 つのタイムスタンプを受け取り、tsrange 値を返します。
INSERT INTO hoo(shop_id, hours) VALUES (123, f_hoo_hours('2016-01-11 00:00+04', '2016-01-11 08:00+04'));
クエリデータ
次のクエリを使用して、hoo テーブルをクエリして、特定の時間に営業している店舗を見つけることができます。
SELECT * FROM hoo WHERE hours @> f_hoo_time(now());
このクエリは、営業しているすべての店舗を返します。現時点ではオープンしています。
インデックス作成
改善のためクエリのパフォーマンスを考慮して、時間列に GiST または SP-GiST インデックスを作成できます。
CREATE INDEX hoo_hours_gist_idx ON hoo USING gist (hours);
このインデックスにより、PostgreSQL は指定された時間に営業している店舗をすばやく見つけることができます。
結論
tsrange データ型とf_hoo_hours() 関数を使用すると、PostgreSQL での数時間の運用に対するクエリを簡素化できます。時間列に GiST または SP-GiST インデックスを作成すると、これらのクエリのパフォーマンスをさらに向上させることができます。
以上が「tsrange」を使用して PostgreSQL の稼働時間を効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
