Mysql 常用sql语句优化

1.并发性的sql语句
少用或者不用多表操作,如业务需要多表查询可以先查询一个表的数据,获取到后遍历再次查询其他表,也就是把一个join查询的语句分成2个或多个单表查询的语句。
2提高查询缓存的利用率
如果查询很原子(很小),就会增加查询缓存的利用率,比如做一个业务需要一个两表联查的sql语句(表1和表2),我们把这个两表联查sql语句分成先查表1数据再遍历循环查询表2,,这样就会生成2个查询缓存(表1和表2),这样如果其他业务也需要查询表1数据就可以直接从查询缓存中读取了。
分页limit优化
当我们使用limit分页是语句是这样的 limit N,M ,N是从第几条数据开始,M是取几条,假设我们的语句是 limit 10000 ,10意思是从第一万条数据开始取10条数据,那么数据库会先查询一万条然后再取10条数据出来,同理当这个N值越大我们的sql语句的执行时间也就越久,因为在执行分页时会有很多的无用检索。

我们把每页的最大值记录在lastVisitTime字段中,那么后边页的查询就可以用如下语句实现:

Sql代码

SELECT msg_id, msg_content FROM message  
WHERE gmt_create < #lastVisitTime#  
ORDER BY gmt_create desc  
LIMIT 20;  

这种查询方式,无论你查询多少页,分页都不会是影响效率的因素

你可能感兴趣的:(Mysql 常用sql语句优化)