2026/6/10 23:48:21
网站建设
项目流程
南京淄博网站建设方案,百度网站建设教程,建站点,播视频网站开发Mysql: 8.0.29数据量#xff1a;628W条主键字段#xff1a;id一、Mysql分页原理示例语句#xff1a; SELECT * FROM test_logistics_contract_info LIMIT 5000000,10;PS1#xff1a;理论上生产环境不禁止SELECT * #xff0c;哪怕会用到所有的字段#xff0c;这里只是示例…Mysql: 8.0.29数据量628W条主键字段id一、Mysql分页原理示例语句 SELECT * FROM test_logistics_contract_info LIMIT 5000000,10;PS1理论上生产环境不禁止SELECT * 哪怕会用到所有的字段这里只是示例语句。执行原理 先执行 SELECT * FROM test_logistics_contract_info LIMIT 5000010;放入Mysql内存中再取最后的10条返回效率分页越深效率越低如果取全表的最后10条相当于全表扫描。二、俩种SQL语句级别优化和效率对比原版语句 执行时间 7.338秒优化语句一 查询时间 0.143秒 比原版的零头还低SELECT a.* FROM test_logistics_contract_info a INNER JOIN (SELECT id FROM test_logistics_contract_info LIMIT 500000,10) as bon a.id b.id原理利用 InnoDB 的回表机制先拿所需要数据的主键再用主键拿数据。优化二查询时间 0.0秒(纳秒级别了) 比原版的零头的零头还低SELECT * FROM test_logistics_contract_info WHERE id 5066186 LIMIT 10;原理先拿到上次分页的最后一条数据id然后用id精准定位数据的位置。缺点禁止跳页每次都必须拿到上一页的最后一条数据的idPS2:Mysql自增主键具有不连续性用页数*每页条数得到的数字作为id是不准确的(比如物理删除的数据或者批量添加数据)PS3Mysql还有唯一索引不唯一的特性 ^_^!!三、其他优化方式1、禁止深分页使用多某东、某宝的分页都限定了100页2、用适合大数据分页的DB 存数据 省心比如es(GB~TB级别) Hbase(PB级别)