私はテーブルを持っており、そのカラムの最後のセルを取得する必要があります。テーブルは大ですが、私はできるだけ早くそれをやりたいのです。 最新の行(最大のタイムスタンプ)がテーブルの最後に追加されるというのが難点です。だから、実際には最後の行を得る最速の方法を理解する必要があります。私はこの試みたテーブルを変更せずにpostgreSQLデータベーステーブルの最後の行を取得する最速の方法
を: SELECT my_column FROM my_schema.my_table ORDER by timestamp DESC NULLS LAST LIMIT 1
をしかし、それは、本当に遅かった:私は、インデックスまたは恒久的にテーブルを変更したり、テーブルを作成する(私はビューを作成するに開いているEDIT)をせずにこれを実行したいのですが大きなテーブル
ので、私はこれを試してみました:
SELECT my_column FROM my_schema.my_table WHERE timestamp=(select max(timestamp) from my_schema.my_table)
どのような考えですか?
あなたは私の一般的な文化のために、その列 –
のインデックスを必要とする、それが最新に部分インデックスいるだろう「ポイント」を設定することが可能です行?そのような索引はほとんどスペースを使用せず、更新はコストがかかりません。 PostgreSQL(または他のRDBMS)もそのような機能を処理しますか? –
その列のインデックスを作成する – Rams