数据库应用优化

   基本语句优化10个原则:

原则1:尽量避免在列上进行运算,这样会导致索引失效。

           例如:

            select * from t where year(d) >=2011;

            优化为:

            select * from t where d>='2011-01-01';

原则2:使用JOIN时,应该用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多个Query。因为JION多个表时,可能导致更多的锁定和堵塞。

 

原则3:注意like模糊查询的使用,避免%%。

           例如:

           select * from t where name like '%de%';

           优化为:

           select * from t where name>='de' and name <'df';


原则4:仅列出需要查询的字段,这对速度不会有明显影响,主要考虑节省内存。

           例如:

           select * from t;

           优化为:

           select id,name from t;


原则5:使用批量插入语句节省交互。

           优化后: insert into t(id,name) values (1,'a'),(2,'b'),(3,'c');


原则6:LIMIT的技术比较大的时候用between。

           例如:

            select * from t  as t order by id limit 1000000,10;

          优化后:

            select * from t as t where id between 1000000 and 1000010 order by id;


原则7:不要使用rand函数获取多条随机记录。

            例如:

            select * from t order by rand() limit 20;

         

原则8:避免使用NULL。


原则9:不要使用count(id),而是应该 count(*);


原则10:不要做无谓的排序操作,而是近可能在索引中完成排序。            


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值