8.8.1 Optimizing Queries with EXPLAIN

8.8 Understanding the Query Execution Plan
[+/-]

8.8.1 Optimizing Queries with EXPLAIN
8.8.2 EXPLAIN Output Format
8.8.3 EXPLAIN EXTENDED Output Format
8.8.4 Estimating Query Performance

根据你表的信息,列,索引,你的where 条件,MySQL 优化器考虑很多的技术来有效的查找执行一个查询。

一个查询在一个大表上可以被执行不需要读取所有的表,一个关联调用几个表能被执行不比较每一个组合的行。

优化选择来执行更高效的查询被叫做查询执行计划, 也被称为 EXPLAIN plan.你的目的是识别

EXPLAIN 计划的部分,表明查询是否是最优的,学习SQL 符号和索引技术来实现计划,如果你看到一些低效的操作。

8.8.1 Optimizing Queries with EXPLAIN 优化查询使用执行计划

在MySQL 5.6.3,允许解释语句用于EXPLAIN 是SELECT,DELETE,INERT REPLACE和UPDATE.

在MySQL 5.6.3前, SELECT 是唯一的解释语句:

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

那是,MySQL explain 它如何处理语句,包括信息关于表如何关联,和什么关联顺序。

使用EXPLAIN 得到的执行计划信息:

EXPLAIN EXTENDED 可以用于得到额外的执行计划信息

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

在MySQL 5.6.3,FORMAT 选项被用于查看格式输出, 传统的是以表格格式输出。

如果没有格式选项,这是默认的。 JSON格式显示的信息。

在EXPLAIN 的帮助下,你可以看到哪里你应该给表加索引,以便让语句执行的更快

通过使用索引来找到行。你也可以使用EXPLAIN 来检查是否优化器 关联表使用正确的顺序,

指定hint 来优化使用关联顺序相关的, 用SELECT STRAIGHT_JOIN JOIN 相比直接SELECT。

如果你有一个索引的问题不被使用,但是你认为应该走,运行ANALYZE TABLE 来更新统计信息, 比如keys(索引)的基数,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

scan724

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

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

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

打赏作者

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

抵扣说明:

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

余额充值