查询优化的概念,查询优化是什么
不同的SQL语句编写方式往往会带来很大的性能差异。如何才能知道执行SQL查询的成本?MySQL为我们提供了EXPLAIN关键字。在select语句之前添加EXPLAIN关键字。MySQL将解释它如何处理SELECT查询,并提供关于表如何连接和连接顺序、扫描的记录数量等相关信息。您可以使用这些信息来优化您的SQL查询。
解释从userinfo中选择id、用户名,其中用户名类似于“% Peng %”;
我们在查询语句前添加了EXPLAIN关键字,因此可以得到下面的报告。
id: 1
select_type:简单
表格:用户信息
类型:全部
可能的关键字:空
关键字:空
key_len: NULL
rel:空
行数:6
Extra:使用位置
粗略解释每个数据项的含义:
Id: SELECT标识符,SELECT的查询序号;
Select_type:选择类型,可以是SIMPLE(简单查询)、PRIMARY(最外层选择)等。
表格:使用的表格
类型:联接类型
可能关键字:可用的索引列
Key:实际使用的索引列
Key_len:密钥长度
Rel:哪个列或常量用于从带键的表中选择行?
Rows:选中的行数。
额外:该列包含MySQL的查询解析的细节。
更具体的解释,请参考MySQL手册。在这里,再次复制手册的内容是没有意义的。当你有了这些参考数据,你就可以更准确的完成MySQL查询优化。