SQL语句优化总结

开发过程中必不可少的就是对数据库的操作,也就离不开SQL语句的书写,我们也就需要考虑到SQL语句的执行速度,需要书写规范和优化。

1.避免进行全表扫描。避免使用“select * ”,用表中具体的列来查询 。

select * from user ;
select id,name,phone,... from user;

2.避免where语句中进行null判断,这会使引擎放弃索引进行全表扫描,可以用0代替null。

select name from user where name is null;

3.避免使用where  != 或者 where >,<操作符,否则放弃索引进行全表扫描。

4.模糊查询也会进行全表扫描。

5.查询时不需要的字段不要进行查询。

6.避免对字段进行运算。

7.where多条件查询时,先根据条件过滤掉最多的数据。表中性别为0的数据量很多,过滤掉不为0的很少,剩下的数据再进行name字段查询,这样效率比较低。选进行name过滤,剩下的数据很少再进行sex过滤,执行速度更快。

select name from user where sex=‘0’ and name=‘ban’;
select name from user where name=‘ban’ and sex=‘0’;

8.一个表的索引最多为6个,索引多查询快,但insert,update操作时效率低,有可能重建索引。

9.避免使用count(*)查询。这样会进行全表查询,也没有太大实际意义。

select count(*) from user;
select count(id) from user;

10.当使用数据量小的表跟数据量大的表进行关联查询时,不要使用强关联,使用 left join关联。用小表数据去大表中进行查找数据。能够有效的降低sql的执行时间。

扫描二维码关注公众号,回复: 2492765 查看本文章

 

 

猜你喜欢

转载自blog.csdn.net/banjw_129/article/details/80843979