继续我们在mysql优化方面的研究,本篇博客,我们用实践的例子在展示我们在编写sql语句方面如何能够使得mysql执行效率更高。
1、首先我们用explain关键字来查询我们编写的sql语句的效率,如图所示:
table:实际对应的表名
possible_keys:可能用到的索引
key:实际用到的索引
ref:通过索引列可以直接引用到的某些数据行
row:实际影响的行数
Extra:表示使用了索引和where子句
2、我们使用一些mysql的内置函数
min()和max()两个函数在使用查询过程中本身就是经过优化的,当使用的是主键查的时候,查询速度是相当快的,例如:select min(id) from it_area where pid=69,其中id是主键。另外尽量使用exists,不要使用子查询:
我们可以使用count(*)查询记录的行数,同样可以把查询数据组建成一个临时表用。group by是用来做统计的,而不能用在需要进行筛选数据的场景。使用union优化的时候,尽量使用union all