-4
表有兩列(的transaction_id,USER_ID),都與索引。表中約10M記錄。優化Postgres的前N個查詢
TRANSACTION_ID是唯一
TRANSACTION_ID上USER_ID指望從很少到數千變化。
我需要的是找到最大(TRANSACTION_ID),相對於該TOP25(ORDER BY DESC)TRANSACTION_ID對給定的用戶必須被忽略。
例如,用21層TRANSACTION_ID的一個USER_ID不會被選中。 47個交易爲user_id將返回交易26
我以抵消,限制等嘗試了多種方法,但他們似乎都慢(成本非常高)。
'我嘗試了好幾種ways' ......請發表您的疑問,讓我們不要浪費時間重做什麼可能已經你失敗了。另外,樣本數據會很好。如果能夠向我們顯示有意義的數據,可以用數字「3」代替'25'。 –
請仔細閱讀[PostgreSQL的性能(http://stackoverflow.com/tags/postgresql-performance/info),則** [編輯] **你的問題,並提供缺少的信息。 ? –
您想訂購'transaction_id',通過'user_id',則忽略所有的結果進行分組,但第26行對每個'user_id' - 你能指望加快.. –