码迷,mamicode.com
首页 > 数据库 > 详细

遇到过得基础的sql语句优化

时间:2015-05-24 08:55:22      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:优化   sql优化   基础   查询   select   

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函数获取多条随机记录。

8.避免使用NULL。因为在程序中,搜索的时候,不好使用null。

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

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

遇到过得基础的sql语句优化

标签:优化   sql优化   基础   查询   select   

原文地址:http://blog.csdn.net/rodgexue/article/details/45938667

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!