MySQL排序limit出現的問題(已解決)

2021-06-29 02:50:57 字數 454 閱讀 5308

在mysql中,在使用排序limit時出現了問題。如下圖。

在表zj_score_change中建了乙個唯一索引unique key `uni_key` (`uid`,`change_time`,`reason`)。這就是出問題的關鍵。

下面是兩句sql的執行計畫。

可知在執行select * from zj_score_change where uid = 9368955 order by change_time desc時沒有使用索引,而是檔案排序,而執行另外乙個sql時則使用了索引,而使用該索引時的順序和檔案排序時的順序是不同的,所以會出現如上的問題。

使用mysql的limit進行分頁時出現重複問題

使用mysql的limit進行分頁時,例如 select from table 1 where 1 1 limit m,n 這樣後面的頁可能會出現重複資料,這時可以通過加入order by 子句來解決這種情況,select from table 1 where 1 1 order by field ...

使用mysql的limit進行分頁時出現重複問題

使用mysql的limit進行分頁時,例如 select from table 1 where 1 1 limit m,n 這樣後面的頁可能會出現重複資料,這時可以通過加入order by 子句來解決這種情況,select from table 1 where 1 1 order by field ...

MySQL資料庫limit分頁 排序

select from persons limit a,b 解釋 a,查詢起點 b,你需要的行數 示例 select from persons limit 0 4 解釋 起點位置為1,開始查詢,返回4條資料為1,2,3,4 select from persons limit 4 4 解釋 起點為5,...