溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql order by limit的坑怎么解決

發(fā)布時間:2022-03-04 13:49:09 來源:億速云 閱讀:125 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“mysql order by limit的坑怎么解決”,在日常操作中,相信很多人在mysql order by limit的坑怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql order by limit的坑怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

分頁查詢的時候遇到的坑:

發(fā)現(xiàn)的問題: 對單個無索引的字段進行排序后limit .發(fā)現(xiàn)當被排序字段有相同值時并且在limit范圍內(nèi),取的值并不是正常排序后的值,

也就是說,當排在第N行的數(shù)據(jù)可取key1、 key2 時 , 排序結(jié)果可能是key1,也可能是key2。

mysql order by limit的坑怎么解決

排序+ limit 結(jié)果 (排序鍵無索引) 
按cnt取key_word分別前三結(jié)果:

mysql order by limit的坑怎么解決

原文:

If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.
是說如果order by的列有相同的值時, mysql會隨機選取這些行,具體根據(jù)執(zhí)行計劃有所不同。

解決: order by 的列中包含一個索引列
此處增加主鍵id為排序列

到此,關(guān)于“mysql order by limit的坑怎么解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI