赞
踩
mysql使用select * limit offset, rows分页在深度分页的情况下。性能急剧下降。
例如:select * 的情况下直接⽤limit 600000,10 扫描的是约60万条数据,并且是需要回表60W次,也就是说⼤部分性能都耗在随机访问上,到头来只⽤到10条数据(总共取600010条数据只留10条记录);
limit用于数据的分页查询,当然也会用于数据的截取,下面是limit的用法:
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
第一种:SELECT * FROM table LIMIT offset, rows # 常用形式
- -- 从0开始,截取5条记录,即检索行为1到5
- select * from table limit 0,5
- -- 注意: 关键字limit后面的两个参与用逗号分割
第二种:SELECT * FROM table LIMIT rows OFFSET offset
- -- 从0开始,截取5条记录,即检索行为1到5
- select * from tb_account limit 5 offset 0
- -- 注意: 使用limit和offset两个关键字,并且各带一个参数,中间没有逗号分割
第三种:SELECT * FROM table LIMIT rows 取前五行数据,偏移量默认为0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。