首页 存档 技术 查看内容

10条SQL优化语句,让你的数据库跑得更快!

2018-3-30 13:00 |来自: 互联网 338 0

摘要: 专栏 秀米贺春《MySQL 管理之道》第二版作者 慢SQL消耗了70%~90%的数据库CPU资源; SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低; SQL语句可以有不同的 ...

专栏 秀米
贺春

《MySQL 管理之道》第二版作者


  1. 慢SQL消耗了70%~90%的数据库CPU资源;

  2. SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;

  3. SQL语句可以有不同的写法;


下面是 贺春老师 总结的一些SQL常见的优化方法,每个案例都简单易懂,在开发过程中可以作为参考:



1
不使用子查询


例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang');


子查询在MySQL5.5版本里,内部执行计划器是这样执行的:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢。

在MariaDB10/MySQL5.6版本里,采用join关联方式对其进行了优化,这条SQL会自动转换为
SELECT t1.* FROM t1 JOIN t2 ON t1.id = t2.id;

但请注意的是:优化只针对SELECT有效,对UPDATE/DELETE子查询无效,固生产环境应避免使用子查询


2
避免函数索引


例:SELECT * FROM t WHERE YEAR(d)

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部