資源描述:
《dba面試題及參考答案》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一、SQLtuning類1、列舉幾種表連接方式?·嵌套循環(huán)連接(NESTEDLOOPJOIN)·群集連接(CLUSTERJOIN)·排序合并連接(SORTMERGEJOIN)·笛卡爾連接(CARTESIANJOIN)·哈希連接(HASHJOIN)·索引連接(INDEXJOIN)2、不借助第三方工具,怎樣查看sql的執(zhí)行計劃? 檢察表plan_table是否存在,若無用utlxplan.sql創(chuàng)建該表。setautotraceon explainplansetstatement_id=&item_idfor&sql; select*from
2、table(dbms_xplan.display); 3、如何使用CBO,CBO與RULE的區(qū)別?在實例/會話級設(shè)置OPTIMIZER_MODE=CHOOSE,也可以在語句級別用Hint(/*+...*/)來設(shè)定。如此,如果表有統(tǒng)計信息(分區(qū)表外),優(yōu)化器將選擇CBO,否則選RBO。RBO遵循ORACLE內(nèi)定規(guī)則,當(dāng)接收到查詢,優(yōu)化器將估算使用到的要點數(shù)目,然后選擇最佳級別(最少的數(shù)量)的執(zhí)行計劃查詢。CBO嘗試找到最低成本的數(shù)據(jù)訪問方法,為最大吞吐量或最快響應(yīng)時間,計算使用不同執(zhí)行計劃的成本,并選擇成本最低那個,依賴與表的統(tǒng)計信息。4、如何
3、定位重要(消耗資源多)的SQL?SELECT*FROM(SELECTsql_text,buffer_gets,disk_readsFROMv$sqlORDERBYbuffer_gets,disk_readsDESC)WHEREROWNUM<=10;5、如何跟蹤某個session的SQL?execdbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);7selectsid,serial#fromv$sessionwheresid=(selectsidfromv$mystat
4、whererownum=1);execdbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');6、SQL調(diào)整最關(guān)注的是什么?調(diào)整的目的就是為了消耗最小的資源來完成功能,通過查看執(zhí)行計劃和各種統(tǒng)計信息來分辨調(diào)整后的sql對資源的耗費情況;查看該SQL的responsetime(dbblockgets/consistentgets/physicalreads/sorts(disk))7、說說你對索引的認(rèn)識(索引的結(jié)構(gòu)、對dml影響、為什么提高查詢性能)?
5、b-treeindexbitmapindexfunctionindexpatitionalindex(local/global)索引通常能提高select/update/delete的性能,會降低insert的速度。8、使用索引查詢一定能提高查詢的性能嗎?為什么?索引就是為了提高查詢性能而存在的,如果在查詢中索引沒有提高性能,只能說是用錯了索引,或者講是場合不同。9、綁定變量是什么?綁定變量有什么優(yōu)缺點? 綁定變量是相對文本變量來講的,所謂文本變量是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反復(fù)解析,綁定變量是指使用變量來代替直
6、接書寫條件,查詢bindvalue在運行時傳遞,然后綁定執(zhí)行。優(yōu)點是減少硬解析,降低CPU的爭用,節(jié)省shared_pool;缺點是不能使用histogram,sql優(yōu)化比較困難。10、如何穩(wěn)定(固定)執(zhí)行計劃? query_rewrite_enabled=true star_transformation_enabled=true(determineswhetheracost-basedquerytransformationwillbeappliedtostarqueries.) optimizer_features_enable=9.2
7、.0(利用這個參數(shù)的設(shè)置,可以查看一條SQL在不同版本的優(yōu)化器的執(zhí)行情況)創(chuàng)建并使用storedoutline。711、和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時表空間的作用是什么?8i中,sort_area_size/sort_area_retained_size決定了排序所需要的內(nèi)存,如果排序操作不能在sort_area_size中完成,就會用到temp表空間9i中,如果workarea_size_policy=auto時,排序在pga內(nèi)進(jìn)行,通常pga_aggregate_target的1/20可以用來進(jìn)行disksort;如果wor
8、karea_size_policy=manual時,排序需要的內(nèi)存由sort_area_size決定。 在執(zhí)行orderby/groupby/dis