⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MySQL EXPLAIN 执行计划详解

学习使用EXPLAIN分析SQL查询的执行计划,优化性能瓶颈。 · 难度:入门 · +15XP

MySQL EXPLAIN 执行计划

EXPLAIN是MySQL中最重要的性能分析工具之一,它模拟优化器执行SQL查询,输出每一步的执行计划。通过解读EXPLAIN结果,可以快速定位全表扫描、索引使用不当等问题。

基本语法

EXPLAIN SELECT * FROM users WHERE age > 30;

关键列解释

列名含义
id查询中SELECT的标识符,id越大越先执行
select_type查询类型,如SIMPLE、PRIMARY、SUBQUERY
type访问类型,从ALL(全表扫描)到const(常数查找)性能递增
possible_keys可能使用的索引
key实际使用的索引
rows优化器估计需要扫描的行数
Extra额外信息,如Using where、Using index

示例分析

假设有一个订单表,执行如下查询:

EXPLAIN SELECT order_id, amount FROM orders WHERE customer_id = 123 AND status = 'completed';

输出中type为ref表示使用了非唯一索引扫描;rows=500表示预计扫描500行;Extra显示Using where说明在索引基础上又做了条件过滤。如果type=ALL,则需要考虑添加索引。

练习提示

在下方编辑器中,先创建一张包含1000条模拟数据的表,然后执行EXPLAIN分析不同查询的表现,尝试添加索引后对比rows和type的变化。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 68 篇
0 完成
🔥 0