- 相關(guān)推薦
部分SQL tuning 類(lèi)筆試題
在日常學(xué)習(xí)、工作生活中,我們都經(jīng)?吹皆囶}的身影,借助試題可以對(duì)一個(gè)人進(jìn)行全方位的考核。你知道什么樣的試題才是好試題嗎?下面是小編為大家整理的部分SQL tuning 類(lèi)筆試題,歡迎閱讀,希望大家能夠喜歡。
部分SQL tuning 類(lèi)筆試題 1
1、列舉幾種表連接方式
2、不借助第三方工具,怎樣查看sql的執(zhí)行計(jì)劃
3、如何使用CBO,CBO與RULE的區(qū)別
4、如何定位重要(消耗資源多)的SQL
5、如何跟蹤某個(gè)session的SQL
6、SQL調(diào)整最關(guān)注的是什么
7、說(shuō)說(shuō)你對(duì)索引的認(rèn)識(shí)(索引的`結(jié)構(gòu)、對(duì)dml影響、對(duì)查詢(xún)影響、為什么提高查詢(xún)性能) "
8、使用索引查詢(xún)一定能提高查詢(xún)的性能嗎?為什么
9、綁定變量是什么?綁定變量有什么優(yōu)缺點(diǎn)?
10、如何穩(wěn)定(固定)執(zhí)行計(jì)劃
11、和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時(shí)表空間的作用是什么
12、存在表T(a,b,c,d),要根據(jù)字段c排序后取第21—30條記錄顯示,請(qǐng)給出sql。
部分SQL tuning 類(lèi)筆試題 2
一、基礎(chǔ)知識(shí)類(lèi)
1. 列舉幾種表連接方式
等連接(Equi-join)
非等連接(Non-equi-join)
自連接(Self-join)
外連接(Outer join):包括左外連接(Left outer join)、右外連接(Right outer join)和全外連接(Full outer join)
2. 不借助第三方工具,怎樣查看SQL的執(zhí)行計(jì)劃
使用EXPLAIN PLAN語(yǔ)句生成執(zhí)行計(jì)劃,并查詢(xún)PLAN_TABLE來(lái)獲取詳細(xì)的執(zhí)行步驟。
在SQLPlus中使用SET TRACE ON來(lái)查看執(zhí)行計(jì)劃統(tǒng)計(jì)信息。
3. 如何使用CBO(Cost-Based Optimizer),以及CBO與RULE(Rule-Based Optimizer)的區(qū)別
CBO根據(jù)表統(tǒng)計(jì)信息來(lái)找到最低成本的訪問(wèn)數(shù)據(jù)方法,確定執(zhí)行計(jì)劃。使用CBO時(shí),需要經(jīng)常對(duì)表進(jìn)行ANALYZE命令進(jìn)行分析統(tǒng)計(jì),并需要穩(wěn)定執(zhí)行計(jì)劃。
RULE根據(jù)規(guī)則選擇最佳執(zhí)行路徑來(lái)運(yùn)行查詢(xún)。使用RULE時(shí),需要注意選擇最有效率的表名順序和優(yōu)化SQL的寫(xiě)法。
二、進(jìn)階知識(shí)類(lèi)
4. 如何定位消耗資源多的SQL
可以使用SQL語(yǔ)句查詢(xún)v$session、v$process和v$sesstat等視圖,找出使用CPU多的用戶(hù)session,從而定位到消耗資源多的SQL。
5. 如何跟蹤某個(gè)session的SQL
可以利用TRACE功能來(lái)跟蹤某個(gè)session的SQL語(yǔ)句,通過(guò)ALTER SESSION SET SQLTRACE ON命令來(lái)開(kāi)啟跟蹤,并通過(guò)查詢(xún)v$sqltext等視圖來(lái)獲取跟蹤信息。
6. SQL調(diào)整最關(guān)注的是什么
SQL調(diào)整最關(guān)注的是系統(tǒng)的I/O問(wèn)題,因?yàn)镮/O是影響數(shù)據(jù)庫(kù)性能的`關(guān)鍵因素之一。可以使用工具如sar-d來(lái)檢查整個(gè)系統(tǒng)的IO statistics。
三、索引相關(guān)類(lèi)
7. 談?wù)剬?duì)索引的認(rèn)識(shí)(索引的結(jié)構(gòu)、對(duì)DML影響、對(duì)查詢(xún)影響、為什么提高查詢(xún)性能)
索引有B-TREE、BIT、CLUSTER等類(lèi)型。在表上建立恰當(dāng)?shù)乃饕梢愿倪M(jìn)查詢(xún)性能,因?yàn)閿?shù)據(jù)庫(kù)會(huì)先讀取索引,根據(jù)索引內(nèi)容和查詢(xún)條件查詢(xún)出ROWID,再根據(jù)ROWID取出需要的數(shù)據(jù)。由于索引內(nèi)容通常比全表內(nèi)容要少很多,因此通過(guò)先讀索引能減少I(mǎi)/O,提高查詢(xún)性能。但在進(jìn)行插入、刪除、修改時(shí),同時(shí)會(huì)進(jìn)行索引的修改,在性能上有一定的影響。
8. 使用索引查詢(xún)一定能提高查詢(xún)的性能嗎?為什么
使用索引查詢(xún)不一定能提高查詢(xún)性能。因?yàn)樗饕枰臻g來(lái)存儲(chǔ),也需要定期維護(hù)。每當(dāng)有記錄在表中增減或索引列被修改時(shí),索引本身也會(huì)被修改。這意味著每條記錄的INSERT、DELETE、UPDATE將為此多付出幾次的磁盤(pán)I/O。因此,不必要的索引反而會(huì)使查詢(xún)反應(yīng)時(shí)間變慢。
四、其他高級(jí)話題
9. 綁定變量是什么?綁定變量有什么優(yōu)缺點(diǎn)
綁定變量是指在SQL語(yǔ)句中使用變量,改變變量的值來(lái)改變SQL語(yǔ)句的執(zhí)行結(jié)果。其優(yōu)點(diǎn)在于可以減少SQL語(yǔ)句的解析,降低數(shù)據(jù)庫(kù)引擎消耗在SQL語(yǔ)句解析上的資源,提高編程效率和可靠性。缺點(diǎn)在于可能需要使用動(dòng)態(tài)SQL的寫(xiě)法,由于參數(shù)的不同,可能SQL的執(zhí)行效率不同。
10. 如何穩(wěn)定(固定)執(zhí)行計(jì)劃
可以通過(guò)設(shè)置參數(shù)如query_rewrite_enabled、star_transformation_enabled以及optimizer_features_enable等,或者創(chuàng)建并使用stored outline來(lái)穩(wěn)定執(zhí)行計(jì)劃。
【部分SQL tuning 類(lèi)筆試題】相關(guān)文章:
SQL tuning筆試題03-23
筆試題(SQL tuning )03-24
金蝶的SQL筆試題10-27
ORACLE 常用的SQL語(yǔ)法和數(shù)據(jù)部分06-22
sql server面試試題09-02
阿里巴巴非技術(shù)類(lèi)筆經(jīng)及試題08-25
2017年sql考試試題05-20