SQL 学习笔记:执行计划与优化(执行计划)

一、执行计划 语法

-- MySQL
EXPLAIN SELECT * FROM t WHERE col = 1;
-- Oracle
EXPLAIN PLAN FOR SELECT ...;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

二、参数说明

项目说明
EXPLAINMySQL 查看执行计划(type/key/rows)
EXPLAIN PLANOracle 生成计划并存到 PLAN_TABLE
DBMS_XPLANOracle 格式化显示执行计划
关键指标全表扫描 TABLE ACCESS FULL 通常需优化;关注 type=ALL

三、注意事项

  • 重点看是否走索引:MySQL type=ALL 是全表扫描,应加索引;Oracle 出现 TABLE ACCESS FULL 同理
  • 慢查询先 EXPLAIN,再针对性建索引或改写 SQL
  • Oracle 可用 AUTOTRACE / DBMS_XPLAN 看成本与行数估算

四、经典案例

案例1:MySQL 执行计划

MySQL 执行计划

案例2:Oracle 执行计划

Oracle 执行计划

案例3:优化前后对比

优化前后对比

五、小结

执行计划与优化是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。

💬 0 评论

评论(0)

登录后发表评论。