8.8.4 Estimating Query Performance 评估查询性能

8.8 Understanding the Query Execution Plan 了解执行计划

8.8.1 Optimizing Queries with EXPLAIN 使用EXPAIN 优化查询

8.8.2 EXPLAIN Output Format EXPLAIN 输出格式

8.8.3 EXPLAIN EXTENDED Output Format EXPLAIN 扩展输出格式

8.8.4 Estimating Query Performance 评估查询性能

依赖你的表,列,索引和WHERE 子句条件的详细信息,MySQL 优化器考虑许多技术来有效的执行

一个SQL查询。 一个query 在一个巨大的表上执行不需要读取所有的记录,

一个关联涉及多个表可以可以执行不需要比较每个记录的组合。

优化器选择来执行最有效的查询被称为 “query execution plan”,

也被称为 EXPLAIN plan. 你的目的是识别EXPLAIN PLAN 的样子,表明一个查询是被很好的优化的,

学习SQL语法,和索引技术来改善计划如果看到一些低效的操作。

8.8.1 Optimizing Queries with EXPLAIN

EXPLAIN 语句可以用得到MySQL如何执行一个语句的信息:

在MySQL 5.6.3中,允许执行计划用于EXPLAIN SELECT, DELETE, INSERT, REPLACE, and UPDATE.

在MySQL 5.6.33之前,只能用于SELECT 语句。

当EXPLAIN 是用于一个explainable statement,MySQL 显示信息从优化器关于语句执行计划。

也就是说,MySQL 执行它是如何处理语句的,那包括关于表如何关联和顺序的信息。

For information about using EXPLAIN to obtain execution plan information, see Section 8.8.2, “EXPLAIN Output

Format”.

EXPLAIN EXTENDED 可以用于得到额外的执行计划信息 See Section 8.8.3, “EXPLAIN EXTENDED Output Format”.

EXPLAIN PARTITIONS 是用于查询涉及分区表

MySQL 5.6.3,FORMAT 选项可以用于选择输出格式

TRADITIONAL 是以表格格式输出, 这是默认的 如果没有FORMAT 选择。

JSON 格式显示JSON格式信息。

在EXPLAIN 的帮助下,你可以看到哪里你应该加索引到表,以便语句可以通过使用索引来快速找到记录。

你可以使用EXPLAIN 来检查是否优化关联表在一个优化的顺序。

给优化器一个提示, 来使用关联顺序相应的顺序在SELECT 语句里

如果你有一个问题,没有使用索引当你相信它们应该走索引, 运行ANALYZE TABLE来更新表的统计信息,

比如cardinality of keys, 它们会影响优化器的选择

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值