阿里巴巴2010年DBA筆試題

才智咖 人氣:2.02W

阿里巴巴公司2010年DBA筆試題

阿里巴巴2010年DBA筆試題

筆試, DBA, 阿里巴巴

注:以下題目,可根據自己情況挑選題目作答,不必全部作答.您也可以就相關問題直接找負責面試人員面述而不筆答

一. SQL tuning 類

1:列舉幾種表連線方式

hash join/merge join/nest loop(cluster join)/index join

複製程式碼

2:不借助第三方工具,怎樣檢視sql的執行計劃

set autot on

explain plan set statement_id = item_id for &sql;

select * from table(dbms_lay);

或者:

SQL>EXPLAIN PLAN FOR SELECT * FROM EMP;

SQL>SELECT plan_table_output FROM TABLE(DBMS_LAY('PLAN_TABLE'));

複製程式碼

3:如何使用CBO,CBO與RULE的區別

Rule Based Optimizer(RBO):基於規則

Cost Based Optimizer (CBO):基於成本,或者講統計資訊。

在optimizer_mode=choose時,如果表有統計資訊(分割槽表外),優化器將選擇CBO,否則選RBO。RBO遵循簡單的分級方法學,使用15種級別要點,當接收到查詢,優化器將評估使用到的要點數目, 然後選擇最佳級別(最少的數量)的執行路徑來執行查詢。

CBO嘗試找到最低成本的訪問資料的方法,為了最大的吞吐量或最快的初始響應時間,計算使用不同的執行計劃的成本,並選擇成本最低的一個,關於表的資料內容的統計被用於確定執行計劃。

4:如何定位重要(消耗資源多)的SQL

select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

複製程式碼

5:如何跟蹤某個session的SQL

exec dbms__sql_trace_in_session(sid,serial#,sql_trace);

select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);

exec dbms__ev(sid,&serial#,&event_10046,&level_12,'');

複製程式碼

6:SQL調整最關注的是什麼

檢視該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk))