普偏写法:
select * from buyer where sellerid=100 limit 100000,5000
造成查询慢原因:
普通limitM,N的翻页写法,在越往后翻页的过程中速度越慢,原因mysql会读取表中的前M+N条数据,M越大,性能就越差。
优化写法:
select t1.* from buyer t1,
(select id from buyer sellerid=100 limit 100000,5000) t2
where t1.id=t2.id;
这样查询比较快的原理:
因为这样你看关联第二张表,只是select id ,id是主键那么索引速度是哪不是杠杠的,因此再关联查询出来的数据能不快吗?
注意 :需要在t表的sellerid字段上创建索引,id为表的主键
create index ind_sellerid on buyer(sellerid);