SQL 学习笔记:执行计划与优化(执行计划)
一、执行计划 语法
-- MySQL
EXPLAIN SELECT * FROM t WHERE col = 1;
-- Oracle
EXPLAIN PLAN FOR SELECT ...;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);二、参数说明
| 项目 | 说明 |
|---|---|
EXPLAIN | MySQL 查看执行计划(type/key/rows) |
EXPLAIN PLAN | Oracle 生成计划并存到 PLAN_TABLE |
DBMS_XPLAN | Oracle 格式化显示执行计划 |
关键指标 | 全表扫描 TABLE ACCESS FULL 通常需优化;关注 type=ALL |
三、注意事项
- 重点看是否走索引:MySQL type=ALL 是全表扫描,应加索引;Oracle 出现 TABLE ACCESS FULL 同理
- 慢查询先 EXPLAIN,再针对性建索引或改写 SQL
- Oracle 可用 AUTOTRACE / DBMS_XPLAN 看成本与行数估算
四、经典案例
案例1:MySQL 执行计划
案例2:Oracle 执行计划
案例3:优化前后对比
五、小结
执行计划与优化是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。
评论(0)
请登录后发表评论。