我有一個表,我需要獲取其中一列的最後一個單元格。桌子很大,我想盡快做到。 訣竅是最新的行(最大時間戳)被添加到表格的底部。所以我真的只需要找出最後一行的最快方法。我想這樣做沒有做索引或永久修改表或創建表(編輯:我願意做意見)在不修改表的情況下獲取postgreSQL數據庫表中最後一行的最快方法
我已經試過這樣: SELECT my_column FROM my_schema.my_table ORDER by timestamp DESC NULLS LAST LIMIT 1
,但它是真的慢大表
所以我嘗試這樣的: SELECT my_column FROM my_schema.my_table WHERE timestamp=(select max(timestamp) from my_schema.my_table)
,感覺更慢。
有什麼想法?
你該列 –
對於我一般文化需要一個指數,是有可能部分索引設置將「點」到最近的行?這樣的指數幾乎不會使用空間,更新它將是無成本的。 PostgreSQL(或任何其他RDBMS)是否處理這樣的功能? –
在該列上創建索引 – Rams