本篇內(nèi)容介紹了“SQL優(yōu)化limit分頁的方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
站在用戶的角度思考問題,與客戶深入溝通,找到南沙網(wǎng)站設(shè)計與南沙網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋南沙地區(qū)。Limit和OFFSET的問題,其實就是OFFSET的問題,它會導(dǎo)致MySQL掃描大量不需要的行然后再拋棄掉。如果使用書簽可以記錄前一次取到的數(shù)據(jù)的位置。那么下次就可以直接從記錄的位置開始掃描。
下面看一個案例:
mysql>select id,product_id from product order by id desc limit 20; +--------------+----------------------------------+ | id | product_id | +--------------+----------------------------------+ | 71986 | 63308c71b16642a4bfb75cbe1049188b | | 71985 | bb8eba635b6a4726b4172143fb1c1d04 | | 71984 | 273243e1c9c64ee39351ea01a2489fa6 | | 71983 | 83f253b3ecde47eebe6a6397dc0d319e | | 71982 | 3c9780c86d1f4f24b95c9a08b4839c99 | | 71981 | 183b197924434de0a47d1786773cb66f | | 71980 | aff3b1385ee74893a3729664991d8e86 | | 71979 | c662a0e5c4d64339a5a68b99268840e1 | | 71978 | fe905e3dbdd2421c8e5ca47cd47232a4 | | 71977 | 9a44f05fde72425fa4498b091d27fd58 | | 71976 | c31afbd9c4ac46ffac34b2a14a49fb9f | | 71975 | 62056557531143e18bc813c0c930dc96 | | 71974 | 4ea1f0c978ca4441a232f563ba7181ee | | 71973 | 413317481ccf449394ded39b53a0f5cf | | 71972 | 493c6da548394bdc871d058bc93a9b93 | | 71971 | 98fafa3c690243998b18da8a9f165297 | | 71970 | 2e299b3ad38d4ce48bd1481799cb11a2 | | 71969 | 7f176c93d9ac42659b40a40f4fbea937 | | 71968 | d87671838a3246ddb393a336b8806905 | | 71967 | 301e3b9cb8ab40d588547a9b7f8fdaba | +--------------+----------------------------------+
按照id倒序排列,第一頁取20行,id范圍從71967到71986。
下一個分頁:
mysql>select id,product_id from product where id < 71967 order by id desc limit 20; +--------------+----------------------------------+ | id | product_id | +--------------+----------------------------------+ | 71966 | fec841328f76466098e0f7ff71ad2e64 | | 71965 | 91383bdf53f64c0c957f00f5e894ee08 | | 71964 | 0fe1f36aecc64e59b1f833e2a809b1d9 | | 71963 | 583ccc4dd2bc48889b672c700ff723df | | 71962 | 2d7417d85f7d4bc5a403be95d42c66c2 | | 71961 | f46e02c1abc046ffba6a893a0af32211 | | 71960 | 1acd9bf330d24cfd90005cc2ade28f8d | | 71959 | cea963ee97814bc09b657c0453b0cb55 | | 71958 | 700caf0dc6c745198d141c8006f87ee3 | | 71957 | 2239be33ebd2485ea6209b5186456531 | | 71956 | 30a4095734074612ad0a0fb32bdab1e4 | | 71955 | d9071a755a994f2eae11c9fb17e8071a | | 71954 | 4d0453c47af347078bc6bc2b5942061c | | 71953 | dda45cced0844fd992194cbaa334e420 | | 71952 | 6e65d866889e4b15abe272f1e814ecc2 | | 71951 | 4b22cdbb1f34448494251fd4f3eb6425 | | 71950 | 38f5d0cac07a4dc5a33ca62609a6debd | | 71949 | faa53f03f4714c9bb0991eb6b18ed7d9 | | 71948 | c5719ee4fcad48d0a6bfc8f28b415f1e | | 71947 | c6beaaa94829465ab1f9b6e0187d2721 | +--------------+----------------------------------+
這樣就可以保證每次分頁查詢的效率都很高,但是使用這樣的查詢有一定的條件限制,比如:
1、必須有主鍵,并且是單調(diào)遞增的。
2、如果查詢語句有g(shù)roup by分組,那么就不能采用這種方法。
“SQL優(yōu)化limit分頁的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!