身為一個(gè)php的開發(fā)者,使用數(shù)據(jù)庫(kù)是必不可少的。我們?nèi)粘?huì)用的一些數(shù)據(jù)的查詢啊,但是因?yàn)橛械谋淼臄?shù)據(jù)太大 就必不可少的需要進(jìn)行l(wèi)imit函數(shù)的使用。當(dāng)然 單純的limit使用沒有任何的問題,可以大膽的使用。但是在和 ORDER BY一起連用的時(shí)候 在某些特殊的情況下就會(huì)出現(xiàn)一些錯(cuò)誤。就是在ORDER BY后 有多個(gè)值,這種情況下再使用limit 就可能會(huì)出現(xiàn)數(shù)據(jù)重復(fù)的問題。
造成這種問題的原因是因?yàn)镺RDER BY過后的值,是隨機(jī)的,依賴于對(duì)應(yīng)的執(zhí)行計(jì)劃然后返回。而limit滿足后就直接返回不會(huì)對(duì)剩余的進(jìn)行排序。所以會(huì)出現(xiàn)數(shù)據(jù)重復(fù)的問題。
這個(gè)有 18條數(shù)據(jù);其中 18號(hào) 有11條數(shù)據(jù);(沒有問題)
其中有三條重復(fù)的數(shù)據(jù),所以這里就會(huì)隱藏一個(gè)bug。
處理方法: 增加一個(gè)ORDER BY 排序(就是保證同一個(gè)排序條件的值 要小于 limit的值就好 比如id,這個(gè)可以具體的對(duì)待)。
掃二維碼關(guān)注諾千科技
19909697910 / 15656989941
0551-65285599 / 0551-65428099
330592165
http://www.fscomfort.com.cn/
地址:安徽省合肥市高新區(qū)創(chuàng)新大道2700號(hào)路歌大廈A座6樓
CONTACT NUOQIAN
如果你認(rèn)同“術(shù)業(yè)有專攻”的理念,請(qǐng)給我們留言,告知你的需求,
我們會(huì)提供專業(yè)的互聯(lián)網(wǎng)解決方案。