1、优化sql语句结构
or改成union,使用start,limit
先只查询出所有的id,然后再排序。如果查询出所有的id仍然很慢,就要仔细考虑了。
2、添加索引
mysql每次查询只能使用一个索引,
如果where a=*,b=* order by c
建议建立联合索引。顺序是a,b,c
3、如果逻辑使用很复杂,切换到查询从库
4、查看sql慢查的原则:
调用频率比较多,每次查询耗时比较长
5、order by 多个字段的情况优化
order by a asc,b asc ,c,d
b是对a的结果重新排序,同样,c是对b排序的结果重新排序,d是对c排序的结果重新排序。
所以可以将上面的sql语句分成4个
每个sql语句只有一个order by字段。
6、不同表的连接顺序
大表join小表