sql语句优化经验

我们平常在开发项目时肯定会要优化我们的sql语句,下面是我总结的sql语句书写或优化原则

1、数字字段能用tinyint就不要用int,字段能使用数字类型就不要使用字符类型,当一个数字类型字段作为查询条件时,该字段不要加单引号,否则可能会使索引失效

2、避免在sql语句中使用诸如select * from t_user这样的查询,而使用select username,password,gender from t_user这样的方式,仅列出我们需要的字段而不是把一些没用的字段也查询出来。

3、避免在where条件中使用函数和在列上面进行运算,否则会使查询不走索引

4、尽量使查询能够走索引,使用复合索引时最好是条件顺序与索引顺序一致

5、使用join时用小结果集驱动大结果集,复杂的join可以拆分为多个query

6、分页的优化,对于主键id连续的表先查出id的起止位置在用between或查出当前页码的id在用in(1001,1002)这样的方式,对于id不连续的表,可以用子查询先查出当前页的id起始位置再用select * from t_user as t1 where t1.id >= (select a.id from t_user as a limit 100000,1) limit 100

7、多表join分页查询尽量是分页提前,先 分页再join


你可能感兴趣的:(sql语句优化经验)