笔试题(SQL tuning )

广博吧 人气:5.99K
笔试题(SQL tuning )

SQL tuning 类
1 列举几种表连接方式
等连接、非等连接、自连接、外连接(左、右、全)
2 不借助第三方工具,怎样查看sql的执行计划
I) 使用Explain Plan,查询PLAN_TABLE;
EXPLAIN   PLAN
SET STATEMENT_ID=’QUERY1′
FOR
SELECT *
FROM a
WHERE aa=1;
SELECT    operation, options, object_name, object_type, ID, parent_id
FROM plan_table
WHERE STATEMENT_ID = ‘QUERY1′
ORDER BY ID;
II)SQLPLUS中的SET TRACE 即可看到Execution Plan Statistics
SET AUTOTRACE ON;
3:如何使用CBO,CBO与RULE的区别
IF 初始化参数 OPTIMIZER_MODE = CHOOSE THEN   –(8I DEFAULT)
IF 做过表分析
THEN 优化器 Optimizer=CBO(COST);           /*高效*/
ELSE
优化器 Optimizer=RBO(RULE);                /*高效*/
END IF;
END IF;
区别:
RBO根据规则选择最佳执行路径来运行查询。
CBO根据表统计找到最低成本的访问数据的方法确定执行计划。
使用CBO需要注意:
I)   需要经常对表进行ANALYZE命令进行分析统计;
II) 需要稳定执行计划;
III)需要使用提示(Hint);
使用RULE需要注意:
I)   选择最有效率的表名顺序
II) 优化SQL的写法;
4 如何定位重要(消耗资源多)的SQL
使用CPU多的用户session
SELECT    , spid, status, SUBSTR (ram, 1, 40) prog, inal,_TEXT,
osuser, VALUE / 60 / 100 VALUE
FROM v$session a, v$process b, v$sesstat c
WHERE istic# = 12 AND = AND r =
ORDER BY VALUE DESC;
5 如何跟踪某个session的SQL

TAGS:tuning SQL 笔试