第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在mysql中翻頁是不是有比LIMIT OFFSET更好的選擇

在mysql中翻頁是不是有比LIMIT OFFSET更好的選擇

守候你守候我 2019-03-29 10:56:02
以前在數(shù)據(jù)中寫翻頁的代碼時(shí),一直把sql寫成這樣SELECT*FROMtable_nameORDERBYidASCLIMIT10OFFSET10也就是用LIMIT和OFFSET來控制需要輸出的內(nèi)容區(qū)域,后來我在翻其他人代碼時(shí)看到了這種寫法SELECT*FROMtable_nameWHEREid>10ORDERBYidASCLIMIT10這種寫法是否比前一種寫法的速度要更快,因我看到它使用id主鍵的索引,而且還把檢索區(qū)域用id>10縮小了,理論上應(yīng)該更快。但這種寫法應(yīng)該也有一定的局限性,比如最大的局限就是它只能用于那種類似timeline的,從第一頁往后翻的應(yīng)用場景,因?yàn)槟阋乱豁摫仨氈狼耙豁摰淖詈笃剖嵌嗌?。不知道我這樣的分析是否正確,各位有什么樣的看法。
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

MySQL里對LIMITOFFSET的處理方式是,取出OFFSET+LIMIT的所有數(shù)據(jù),然后去掉OFFSET,返回底部的LIMIT。
所以,在OFFSET數(shù)值較大時(shí),MySQL的查詢性能會非常低。SELECT*FROMtable_nameORDERBYidASCLIMIT10OFFSET10MySQL會取出20條數(shù)據(jù),只返回后10條。SELECT*FROMtable_nameWHEREid>10ORDERBYidASCLIMIT10利用id索引,MySQL只取出10個(gè)結(jié)果,返回。這種做法卻是要求連續(xù)翻頁,不能跳頁,受約束。
                            
查看完整回答
反對 回復(fù) 2019-03-29
  • 2 回答
  • 0 關(guān)注
  • 513 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號