1,要尽量少关联表
2,orderby 后面的字段要建索引,或者最好orderby后面跟id,这样会很快的。
3,对where 后面的条件中的关键字段 建索引,分页会快很多的。
下面中
agriculturalConditionReport_type有索引, 上面的根据time排序,下面的根据id排序。执行结果:
-- 测试数据条数300067
select 字段
from agritechnique.tab_agriculturalConditionReport agricultur0_
inner join tab_user_info userinfo1_ on agricultur0_.agriculturalConditionReport_userId=userinfo1_.user_id
inner join sys_user_login_info userinfo1_1_ on userinfo1_.user_id=userinfo1_1_.user_id
where agricultur0_.agriculturalConditionReport_type=1 order by agricultur0_.agriculturalConditionReport_time desc limit 3333, 25
-- (25 row(s)returned)
-- (2839 ms taken)
select 字段
inner join tab_user_info userinfo1_ on agricultur0_.agriculturalConditionReport_userId=userinfo1_.user_id
inner join sys_user_login_info userinfo1_1_ on userinfo1_.user_id=userinfo1_1_.user_id
where agricultur0_.agriculturalConditionReport_type=1 order by agricultur0_.agriculturalConditionReport_id desc limit 3333, 25
-- (25 row(s)returned)
-- (16 ms taken)
本文分享了几个实用的SQL查询优化技巧,包括减少表关联数量、为排序和筛选字段建立索引等,通过具体案例展示了不同排序方式对查询性能的影响。
1629

被折叠的 条评论
为什么被折叠?



