Mysql分页及JOIN优化

1、分页
对于一个大表而言,mysql超过几十万行。分页就会有问题,此时先查询主键分页结果,再关联到表中的主要信息,会快很多。
Select * from big_table e

Inner join (select id from big_table limit 4100000, 10) a on a.id = e.id

2、join表时的特别处理
使用组合索引,小表的变形sql处理等,
不要使用子查询:这是错误的示例:select *, (select name from user where id = trade.uid) from trade where create_time > '2018-05-04'
改为:select t.*, u.name from trade t inner join user u on t.uid = u.id and t.create_time > '2018-05-04'
在更大的表时,改为:
select t.* from trade t inner join user u on t.uid = u.id 
inner join(select id from trade where create_time > '2018-05-04') as x on x.id = t.id

猜你喜欢

转载自blog.csdn.net/jsjky2011/article/details/80278697