1
我在存儲過程中使用以下查詢來獲取用戶的排名。優化rank()查詢
雖然試圖優化數據庫,我試圖確定此查詢是否可以優化,因爲它是我的數據庫中最常用的查詢。
id列被索引。
SELECT
@p_rank = all_time_rank
FROM
(SELECT
user_rankings.*,
RANK() OVER (ORDER BY score DESC) AS all_time_rank
FROM
user_rankings) t
WHERE
id = @p_id;
有沒有什麼辦法讓這個查詢執行得更好?
最好我想獲得用戶的最高排名。如果用戶排名10-20,全部拿下1000分,我想顯示10。 –
@dnoeth這就是他想要的,但是,該用戶的'RANK' - 他不在乎誰在他前面創建該等級 – Cato
@dnoeth - 我只發佈,因爲我無法添加任何有用的內容 – Cato