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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值