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

mysql-SQL优化

时间:2019-11-19 13:49:10      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:limit   from   自定义   ike   计划   建立   where   sel   控制   

SQL优化

- 尽量选择数据类型占空间少,在where ,group by,order by中出现的频率高的字段建立索引
- explain 放在查询语句前面可以获取查询计划,建立合适索引
- 尽量避免使用 select * ...;用具体字段代替 * ,不要返回用不到的任何字段
- 少使用like %查询,否则会全表扫描
- 子查询优化为join查询
- 控制使用自定义函数
- 单条查询最后添加 LIMIT 1,停止全表扫描
- where子句中不使用 != ,否则放弃索引全表扫描
- 尽量避免 NULL 值判断,否则放弃索引全表扫描
优化前:select number from t1 where number is null;
优化后:select number from t1 where number=0;
* 在number列上设置默认值0,确保number列无NULL值
- 尽量避免 or 连接条件,否则放弃索引全表扫描,可以用union代替
优化前:select id from t1 where id=10 or id=20;
优化后: select id from t1 where id=10 union all
select id from t1 where id=20;
- 尽量避免使用 in 和 not in,否则全表扫描
优化前:select id from t1 where id in(1,2,3,4);
优化后:select id from t1 where id between 1 and 4;

mysql-SQL优化

标签:limit   from   自定义   ike   计划   建立   where   sel   控制   

原文地址:https://www.cnblogs.com/chenlulu1122/p/11888713.html

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