您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

优化MySQL 的 limit offset

2024/6/9 15:42:59发布29次查看
limit 和offset 通常会和order by 一起使用。索引对排序比较有帮助,如果没有索引就需要大量文件排序,因此在order by 列一定要
limit 和offset  通常会和order by 一起使用。索引对排序比较有帮助,
如果没有索引就需要大量文件排序,因此在order by 列一定要添加索引。
如果有:
select * from mytable order by sp_id limit 100000,10
类似的sql语句出现,那么这个操作的代价非常高,会扫描 100010 行数据。
这个时候可以改成
select * from mytable
inner join (
select pid from mytable  order by sp_id limit 100000,10
)  as lim using (pid);
注:  sp_id  建立了 btree 索引
则能够让服务器在索引上面检查尽可能少的数据,一旦取得了需要的行,就将他们连接在完整的表上面,,并取得其余的列。
修改前的sql 语句执行时间为 2.10 秒,修改后的sql语句执行时间为  1.75秒。节省了  0.35秒的时间。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product