質問

テーブルにbigintとして保存されている日付があり、30日より古いレコードを選択しようとしています。SOとGoogleでこの質問に関連する質問をたくさん見ましたが、必要なものが見つかりません。

これが私が持っているものですが、これは非常に非効率的です: ジェネラコディセタグプレ

私が理解していることから、bigint mytstampフィールドを「30日前」のタイムスタンプと比較するために、タイムスタンプに変換しています。これは、テーブル内のすべてのレコードに対して行われます:(。現在のタイムスタンプ-30日をbigint ONE TIMEに変換し、それをすべてのbigint日付と比較する方が効率的です。

私のSQLスキルは弱いので、簡単に行ってください:)。助けてくれてありがとう。

役に立ちましたか?

解決

もう一度、SOに投稿した直後に解決策を見つけました。その幸運のお守りだと思います。とにかく、これは私が探しているもののようで、はるかに効率的です: ジェネラコディセタグプレ

postgresがextract('epoch' from (CURRENT_TIMESTAMP - INTERVAL '10 days'))::bigintの計算を一度行うのか、それともすべてのレコード比較に対して行うのか疑問に思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top