SQL优化limit分页的方法是什么
本篇内容介绍了“SQL优化limit分页的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Limit和OFFSET的问题,其实就是OFFSET的问题,它会导致MySQL扫描大量不需要的行然后再抛弃掉。如果使用书签可以记录前一次取到的数据的位置。那么下次就可以直接从记录的位置开始扫描。
下面看一个案例:
mysql>selectid,product_idfromproductorderbyiddesclimit20;+--------------+----------------------------------+|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>selectid,product_idfromproductwhereid<71967orderbyiddesclimit20;+--------------+----------------------------------+|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、必须有主键,并且是单调递增的。
2、如果查询语句有group by分组,那么就不能采用这种方法。
“SQL优化limit分页的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。