能否总结一下 OBCP V4.0 版本在 SQL 调优方面的主要考点
5 个赞
在实验考试中,SQL 调优通常是一个独立的、分值较高的题目(约占12分)。你需要在一个真实的数据库环境中,对一个或多个慢查询进行优化。核心操作流程如下:
- 定位慢查询
- 能力要求 :能够使用系统视图快速找到执行效率低下的 SQL 语句。
-
关键视图 :熟练使用
GV$OB_SLOW_QUERY或GV$OB_SQL_AUDIT等视图,根据执行时间、CPU 耗时等指标筛选出需要优化的目标 SQL。
- 分析执行计划
- 能力要求 :能够解读 SQL 的执行计划,找出性能瓶颈。
-
关键命令 :使用
EXPLAIN命令查看执行计划。 -
分析要点 :
- 识别是否存在全表扫描 (TABLE SCAN) ,这通常是性能杀手。
- 检查估算行数 (estimated row count) 是否与实际行数存在巨大差异,这可能是统计信息过时导致优化器选错计划的信号。
- 分析连接方式(如
HASH JOINvsNESTED-LOOP JOIN)和排序操作是否合理。
- 实施优化方案
- 能力要求 :根据分析结果,采取正确的优化手段。
-
核心手段 :
-
收集统计信息 :这是最基础也是最重要的一步。当优化器因统计信息不准而选错计划时,使用
CALL dbms_stats.gather_table_stats(...)手动收集相关表的统计信息,让优化器做出正确决策。 -
创建或修改索引 :根据查询的
WHERE、JOIN、ORDER BY等子句,创建合适的索引。这包括理解复合索引的最左前缀原则、覆盖索引等高级用法。 - 绑定执行计划 (Outline) :当优化器始终无法生成最优计划时,使用 Outline 功能将一个好的执行计划“固化”下来,强制 SQL 使用。
-
收集统计信息 :这是最基础也是最重要的一步。当优化器因统计信息不准而选错计划时,使用
1 个赞
专业呀
很好看的问题
很多次数多少个人信息
6666!!!