MySQL数据库sql语句的一些简单优化

时间:2022-09-04 15:53:10
MySQL数据库sql语句的一些简单优化

1、查询条件的先后顺序

有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边。因为MySQL解析sql语句是从后往前的(不知是否准确)。

例:

select a.*,b.* from UsrInf a,OrgInf b where LogNam='njnydx9' and b.OrgId=a.blnorg

SQL语句从后往前解析,把LogNam='njnydx9'换到后边,避免了更多结果集的连接,提高了执行效率

2、in的效率问题

看网上都说in相当于多个条件的or。实际测试后发现in的执行速度更快。

例:

以下查询结果集数量为 91606
select * from usrbks where boksts='E' or boksts='D' or boksts='O'  用时0.004s
select * from usrbks where boksts in('E','D','O')  用时0.001s