2
我想在AWS Athena上運行LIMIT
和OFFSET
子句的查詢。我以前支持,而the latter is not。有沒有使用其他方法來模擬此功能的方法?AWS上的OFFSET Athena
我想在AWS Athena上運行LIMIT
和OFFSET
子句的查詢。我以前支持,而the latter is not。有沒有使用其他方法來模擬此功能的方法?AWS上的OFFSET Athena
使用OFFSET
進行分頁效率非常低,尤其是對於像Presto這樣的分析數據庫,通常需要執行全表或分區掃描。此外,查詢之間的結果不一定一致,因此在頁面之間導航時可能會出現重複或缺少結果。
在OLTP
數據庫(如MySQL或PostgreSQL)中,最好對索引使用範圍查詢,以便跟蹤上一頁中顯示的最後一個值。
在像Presto這樣的OLAP
數據庫中,最好是緩存結果集並使用緩存數據執行分頁。每次用戶點擊轉到不同的頁面時,您不希望對數十億或數萬億行進行昂貴的查詢。
參見該問題的更詳細的解釋和指標的做法,這些文章: