




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OracleRDBMS
SQL語(yǔ)句處理流程趙元杰中程在線(北京)科技2021.89/27/20231內(nèi)容提要10g9iR2優(yōu)化有關(guān)的術(shù)語(yǔ)一個(gè)銀行業(yè)務(wù)處理流程理解SQL執(zhí)行過程關(guān)于CURSOR_SHARING參數(shù)
監(jiān)視SQLArea的SQL語(yǔ)句調(diào)整SQL步驟9/27/20232性能有關(guān)術(shù)語(yǔ)共享池概念回憶:Sharedpool是SGA的一局部,它是用來(lái)存放由應(yīng)用用戶發(fā)出的SQL和PL/SQL語(yǔ)句;SharedPool由3個(gè)部件組成:庫(kù)緩存(librarycache)-用來(lái)存放應(yīng)用用戶剛發(fā)出的SQL及PL/SQL語(yǔ)句、存儲(chǔ)過程、函數(shù)、包、觸發(fā)器、同義詞PL/SQL包及JAVA類庫(kù)等對(duì)象信息;數(shù)據(jù)字典(DataDictionaryCache)-表、列等信息存儲(chǔ)在該區(qū);用戶全局區(qū)〔UserGlobalArea〕-使用共享效勞器選件時(shí),用戶全局區(qū)才有用,用戶全局區(qū)用于存放用戶會(huì)話的應(yīng)用9/27/20233性能有關(guān)術(shù)語(yǔ)Oracle共享池庫(kù)高速緩存工作方式:用來(lái)緩存共享的SQLstatements和PL/SQL塊,這些可以給所有的連接用戶共享由LRU(最小使用最先淘汰算法)來(lái)管理不是FIFO(先進(jìn)先出)算法管理?。racle如何知道你的SQL語(yǔ)句是否在里面先通過一個(gè)hash算法將Statementtext運(yùn)算成一個(gè)hash數(shù)值然后通過這個(gè)hash值在共享池中查找9/27/20234性能有關(guān)術(shù)語(yǔ)SQL語(yǔ)句分析SQL語(yǔ)法分析(SyntacticalAnalysis)語(yǔ)法正確性分析,如關(guān)鍵字拼寫等語(yǔ)義分析(SemanticAnalysis)當(dāng)前用戶訪問表是否有權(quán)限等存入共享池(sharedpool)當(dāng)前SQL語(yǔ)句語(yǔ)法和語(yǔ)義正確后存儲(chǔ)在SGA的共享詞內(nèi),可供當(dāng)前會(huì)話再次使用或其他用戶使用9/27/20235性能有關(guān)術(shù)語(yǔ)SQL語(yǔ)句的HASH值SQL語(yǔ)句在語(yǔ)義分析后,都產(chǎn)生一個(gè)叫SQLHsahValues的值SQLHsahValues是由Hash函數(shù)產(chǎn)生的,在數(shù)據(jù)庫(kù)中相同的SQL語(yǔ)句具有相同的Hash值Oracle系統(tǒng)通過SQLHash值來(lái)判斷某個(gè)語(yǔ)句是否出現(xiàn)過運(yùn)行過程中,可從V$SQLTEXT查詢到SQL語(yǔ)句及其Hash值:SQL>SELECTa.username"用戶名",a.sid"SID號(hào)",a.serial#"序列號(hào)",2b.id1"ID1",c.sql_text"SQL語(yǔ)句"3FROMv$sessiona,v$lockb,v$sqltextc4WHEREa.lockwaitisnotnullANDa.lockwait=b.kaddr5anda.sql_address=c.address6*anda.sql_hash_value=c.hash_value;
用戶名SID號(hào)序列號(hào)ID1SQL語(yǔ)句-------------------------------------------------------------------------------------INMON1857968196685updatetst2setsal=98765wherename='zyj'9/27/20236性能有關(guān)術(shù)語(yǔ)SQL語(yǔ)句重新加載如果在SHAREDPOOL中找不到當(dāng)前會(huì)話所發(fā)出的SQL語(yǔ)句,那么Oracle系統(tǒng)重新加載重新加載的SQL語(yǔ)句要做下面的工作:語(yǔ)法正確性分析如關(guān)鍵字拼寫等9/27/20237性能有關(guān)術(shù)語(yǔ)V$libaraycache有關(guān)術(shù)語(yǔ)命名空間:SQLAREA,TABLE/PROCEDURE,BODY,TRIGGER等gets:(parse)每當(dāng)一條語(yǔ)句被分析一次時(shí),該語(yǔ)句對(duì)應(yīng)的名稱空間的gets加1gethits:分析時(shí)在對(duì)應(yīng)的名稱空間找到已經(jīng)存在時(shí)加1,其分析后的代碼和執(zhí)行方案在內(nèi)存中找到了,不再執(zhí)行硬分析,直接使用pins:(excution)每當(dāng)一條語(yǔ)句執(zhí)行一次時(shí),該語(yǔ)句對(duì)應(yīng)的名稱空間的的pins加1reloads:(parse)因?yàn)檎业降姆治龃a版本已經(jīng)過期或作廢而被重新硬分析的次數(shù)invalidations:因?yàn)閿?shù)據(jù)詞典發(fā)生變化,該語(yǔ)句被標(biāo)記成失效,被迫重新做硬分析的次數(shù)9/27/20238性能有關(guān)術(shù)語(yǔ)綁定變量綁定變量就是將類似的SQL語(yǔ)句的變化局部采用變量替代,從而減少Oracle系統(tǒng)類似語(yǔ)句的重新分析(硬分析)如果采用綁定變量,系統(tǒng)只做軟分析工作SQL語(yǔ)句硬分析原因:沒有共享的SQL(沒有使用綁定變量),共享SQL重新硬分析了〔查詢V$sqlarea的parse_calls和excutions字段,如果某個(gè)SQL對(duì)應(yīng)的parse_calls接近excutions數(shù),說(shuō)明該SQL經(jīng)常被重新硬分析〕注意:并不是綁定變量就是最好9/27/20239性能有關(guān)術(shù)語(yǔ)共享光標(biāo)(CURSOR_SHARING)綁定變量原因:沒有共享的SQL硬分析注意:并不是綁定變量就是最好9/27/202310性能有關(guān)術(shù)語(yǔ)SQL語(yǔ)句執(zhí)行方案cost指cbo中這一步所消耗的資源,這個(gè)值是相對(duì)值card是指方案中這一步所處理的行數(shù)bytes指cbo中這一步所處理所有記錄的字節(jié)數(shù),是估算出來(lái)的一組值。9/27/202311內(nèi)容提要10g9iR2優(yōu)化有關(guān)的術(shù)語(yǔ)一個(gè)銀行業(yè)務(wù)處理流程理解SQL執(zhí)行過程關(guān)于CURSOR_SHARING參數(shù)
監(jiān)視SQLArea的SQL語(yǔ)句調(diào)整SQL步驟9/27/2023121.發(fā)出查詢余款的SQL語(yǔ)句,如:先查詢帳戶余額:SQL語(yǔ)句通過SGA得到效勞器進(jìn)程;效勞器進(jìn)程檢查共享池中有無(wú)該條語(yǔ)句,無(wú)該語(yǔ)句那么將放置共享池中并準(zhǔn)備運(yùn)行;執(zhí)行SQL語(yǔ)句,把存放有余款的數(shù)據(jù)塊從數(shù)據(jù)文件中讀到SGA的數(shù)據(jù)高速緩沖區(qū);顯示結(jié)果,比方余款為$325。Selectaccount_balanceFrombanktableWhereaccount_number='111222333'Andaccount_type='SAVINGS';一個(gè)銀行業(yè)務(wù)處理流程9/27/2023132.取款$25:SQL語(yǔ)句為:取款就是修改當(dāng)前帳戶的余額:1.客戶進(jìn)程通過SGA把SQL語(yǔ)句傳給效勞器進(jìn)程;2.效勞器進(jìn)程查找有無(wú)該條語(yǔ)句,有執(zhí)行;3.分析SQL語(yǔ)句并存入共享池;4.執(zhí)行SQL語(yǔ)句;5.要處理的數(shù)據(jù)在數(shù)據(jù)高速緩沖區(qū)嗎?是轉(zhuǎn)7;6.從數(shù)據(jù)文件中讀數(shù)據(jù)塊到數(shù)據(jù)高速緩沖區(qū);7.在回滾段中記錄原來(lái)的數(shù)值〔$325〕;8.在重做日志中生成該事務(wù)的一個(gè)拷貝;9.將數(shù)據(jù)高速緩沖區(qū)中的余額改為$300;10.銀行柜員機(jī)通過SGA發(fā)出工作完成信號(hào)〔提交〕:11.在重做日志中記錄已完成事務(wù);12.去除回滾段中的恢復(fù)信息〔UndoInformation〕;13.顧客取錢完成。UpdateBank_tablesetaccount_balanct=300Whereaccount_number='111222333'Andaccount_type='SAVINGS';一個(gè)銀行業(yè)務(wù)處理流程9/27/202314內(nèi)容提要10g9iR2優(yōu)化有關(guān)的術(shù)語(yǔ)一個(gè)銀行業(yè)務(wù)處理流程理解SQL執(zhí)行過程關(guān)于CURSOR_SHARING參數(shù)
監(jiān)視SQLArea的SQL語(yǔ)句調(diào)整SQL步驟9/27/202315SQL語(yǔ)句從發(fā)出到執(zhí)行的主要流程: SQL語(yǔ)句處理流程9/27/202316SQL語(yǔ)句執(zhí)行根本流程: SQL語(yǔ)句處理流程9/27/202317多表連接的SQL語(yǔ)句執(zhí)行流程: SQL語(yǔ)句處理流程9/27/202318SQL執(zhí)行過程-三項(xiàng)主要工作分析(Parsing)優(yōu)化(Optimization)執(zhí)行(Execution)9/27/202319SQL執(zhí)行過程-分析語(yǔ)法分析(SyntacticalAnalysis)語(yǔ)義分析(SemanticAnalysis)存入共享池(sharedpool)9/27/202320SQL執(zhí)行過程:1.語(yǔ)法分析各表示符號(hào)查詢/建議語(yǔ)法selectename,job,d.deptno,dnamefromempedeptdwheree.deptno=d.deptnoande.job="CLERK“orderdeptnoSELECT<listofexpressions>FROM<listofdatasourceobjects>WHERE<condition>ORDERBY<listofexpressions>9/27/202321SQL執(zhí)行過程:2.語(yǔ)義分析解決引用關(guān)系(鎖-latches)檢驗(yàn)權(quán)限SELECTename,job,d.deptno,dnameFROMempe,deptdWHEREe.deptno=d.deptnoANDe.job=‘CLERK’ORDERBYdeptnoSCOTT.EMP(table)ENAMEJOBDEPTNO…SCOTT.DEPT(table)DEPTNODNAME…SchemaSCOTTDataDictionary9/27/202322SQL執(zhí)行過程:3a.進(jìn)入共享池轉(zhuǎn)化為HashSQL并共享池中查到SELECTename,job,d.deptno,dnameFROMempe,deptdWHEREe.deptno=d.deptnoANDe.job=‘CLERK’ORDERBYd.deptno628938992HASHSystemGlobalAreaSharedPoolSharedSQLAreaUser1User2User3OracleInstance49/27/202323SQL執(zhí)行過程:3a.共享池工作如果共享池沒找到就加載到共享池SELECTename,job,d.deptno,dnameFROMempe,deptdWHEREe.deptno=d.deptnoANDe.job=‘CLERK’ORDERBYd.deptno628938992V$SQL(DataDictionaryviewintoSQLinSharedPool)HASH_VALUESQL_TEXT---------------------------------------------------------------619739417SELECTCOUNT(*)FROMUSER_POLICIESVWHEREV.OB...619739417SELECTCOUNT(*)FROMUSER_POLICIESVWHEREV.OB...628938992SELECTename,job,e.deptno,dnameFROMempe,d...636388251insertintoccol$(con#,obj#,intcol#,pos#,col#)val......HASH5,69/27/202324SQL執(zhí)行過程:優(yōu)化FinalExecutionPlan/RowSourceGenerator
0SELECTSTATEMENTOptimizer=CHOOSE10MERGEJOIN21SORT(JOIN)32TABLEACCESS(FULL)OF'DEPT'41SORT(JOIN)54TABLEACCESS(FULL)OF'EMP'SELECTename,job,d.deptno,dname…DataDictionary評(píng)估不同訪問路徑(包括latches)確定最正確路徑,并保持在共享池中OptimizerPlanA:Cost=5
PlanB:Cost=3
PlanC:Cost=10
9/27/202325SQL執(zhí)行過程:執(zhí)行在私有SQL區(qū)分配光標(biāo)[綁定變量-Bindvalues]運(yùn)行光標(biāo)INSERT/UPDATE/DELETE鎖/修改SELECT識(shí)別活動(dòng)數(shù)據(jù)集(active-set)從光標(biāo)中返回?cái)?shù)據(jù)關(guān)閉光標(biāo)9/27/202326SQL執(zhí)行過程-要點(diǎn)SQL語(yǔ)句的執(zhí)行要經(jīng)過下面的步驟:解析SQL-在共享池中找該語(yǔ)句;檢查語(yǔ)法;執(zhí)行和返回結(jié)果;解析SQL:檢查平安性;檢查SQL語(yǔ)法;可能SQL語(yǔ)句重寫。執(zhí)行:創(chuàng)立執(zhí)行方案;捆綁執(zhí)行方案;執(zhí)行方案執(zhí)行;取出結(jié)果。顯示結(jié)果-包括排序、轉(zhuǎn)換和重格式化;轉(zhuǎn)換結(jié)果集-對(duì)內(nèi)置函數(shù)的結(jié)果進(jìn)行轉(zhuǎn)換。9/27/202327SQL執(zhí)行過程-要點(diǎn)SQL語(yǔ)句的解析:接收SQL到共享池;檢查語(yǔ)法等;重新書寫查詢(QueryRewrite):如果創(chuàng)立了實(shí)體視圖(enablequeryrewrite);Altersessionsetquery_rewrite_enabled=true;該SQL語(yǔ)句采用查詢重寫(見實(shí)體視圖)。Oracle的cursor_sharing參數(shù):Force--除變量外語(yǔ)句完全相同使用同一個(gè)光標(biāo);Exact(默認(rèn))--語(yǔ)句完全相同使用同一個(gè)光標(biāo);9i/10g/11g增加SIMILAR參數(shù),強(qiáng)制共享只有文字不同的語(yǔ)句解釋方案。9/27/202328SQL執(zhí)行過程-要點(diǎn)生成執(zhí)行方案:優(yōu)化器職能是決定最有效方法為查詢效勞;查詢速度和查詢效率:最大速度(first_rows)重點(diǎn)是最短時(shí)間返回結(jié)果;最小的資源(all_rows)使用最少的機(jī)器資源和磁盤資源;優(yōu)化器模式由optimizer_mode參數(shù)決定:CBO-Oracle通過運(yùn)行analyze分析的統(tǒng)計(jì)數(shù)據(jù);RBO-Oracle使用數(shù)據(jù)字典中的索引的信息;Oracle的optimizer_mode=choose;沒有統(tǒng)計(jì)數(shù)據(jù),那么使用RBO,否那么使用CBO;Oracle10g默認(rèn)optimizer_mode=ALL_ROWS。9/27/202329SQL執(zhí)行過程-性能統(tǒng)計(jì)(1)TKPROFSELECTename,job,d.deptno,dnameFROMempe,deptdWHEREe.deptno=d.deptnoANDe.job='CLERK'ORDERBYd.deptnocallcountcpuelapsed-------------------------------Parse10.010.01Execute10.000.00Fetch20.000.00-------------------------------total40.010.0129/27/202330SQL執(zhí)行過程-性能統(tǒng)計(jì)(2)SELECTCOUNT(*)FROMbig_user_table
22739callcountcpuelapsed-------------------------------Parse10.070.08Execute10.000.00Fetch20.951.12-------------------------------total41.021.219/27/202331SQL執(zhí)行過程-性能統(tǒng)計(jì)(3)SELECTusernameFROMbig_user_tableWHEREid=100callcountcpuelapsed-------------------------------Parse10.080.07Execute10.000.00Fetch20.000.00-------------------------------total40.080.07(分析工作代價(jià)相當(dāng)高.)9/27/202332SQL執(zhí)行過程-共享池快速分析最優(yōu)保持執(zhí)行方案SELECTusernameFROMbig_user_tableWHEREid=100298300393V$SQL(DataDictionaryviewintoSQLinSharedPool)HASH_VALUESQL_TEXT---------------------------------------------------------------2591785020selectobj#,type#,ctime,mtime,stime,status,dataobj...2591785020selectobj#,type#,ctime,mtime,stime,status,dataobj...298300393SELECTusernameFROMbig_user_tableWHEREobject...4049165760selectorder#,columns,typesfromaccess$whered_o......HASH9/27/202333SQL執(zhí)行過程-硬分析與軟分析硬分析與軟分析〔Hard-Parsevs.Soft-Parse〕:HardParse-對(duì)SQL語(yǔ)句進(jìn)行語(yǔ)法檢查和語(yǔ)義分析,并生成執(zhí)行方案和執(zhí)行編碼;SoftParse-對(duì)SQL語(yǔ)句進(jìn)行語(yǔ)法檢查和語(yǔ)義分析9/27/202334SQL執(zhí)行過程-軟分析更好--AfteraddedtoSharedPool--executed4timesina*new*session:SELECTusernameFROMbig_user_tableWHEREobject_id=100callcountcpuelapsed-------------------------------Parse40.000.00Execute40.000.00Fetch80.010.00-------------------------------total160.010.00軟分析代價(jià)較小9/27/202335SQL執(zhí)行過程-軟分析缺乏SELECTusernameFROMbig_user_tableWHEREid=100;SELECTusernameFROMbig_user_tableWHEREobject_id=250;298300393V$SQL(DataDictionaryviewintoSQLinSharedPool)HASH_VALUESQL_TEXT---------------------------------------------------------------2591785020selectobj#,type#,ctime,mtime,stime,status,dataobj...2591785020selectobj#,type#,ctime,mtime,stime,status,dataobj...1737037929SELECTobject_nameFROMall_objectsWHEREobjec...298300393SELECTobject_nameFROMall_objectsWHEREobject...4049165760selectorder#,columns,typesfromaccess$whered_o......1737037929HASHHASH9/27/202336在共享池中重用SQL語(yǔ)句:當(dāng)SQL語(yǔ)句被傳遞給Oracle處理時(shí),關(guān)鍵是重復(fù)使用已經(jīng)在共享池中的語(yǔ)句,而不是讓Oracle在接受語(yǔ)句時(shí)去準(zhǔn)備新的語(yǔ)句;與共享池中的語(yǔ)句相一致的語(yǔ)句,就重用共享池中的語(yǔ)句;Oracle提供在數(shù)據(jù)庫(kù)中存儲(chǔ)代碼的能力,當(dāng)應(yīng)用系統(tǒng)開始運(yùn)行時(shí),從數(shù)據(jù)庫(kù)中讀取代碼〔可用PL/SQL語(yǔ)句編制〕并傳遞到共享池中去處理。從數(shù)據(jù)庫(kù)中取出的代碼是編譯過的并駐留在共享池中;利用數(shù)據(jù)庫(kù)中存儲(chǔ)的程序代碼設(shè)計(jì)應(yīng)用系統(tǒng),檢查所有的事務(wù)處理以及主要的通用的過程,研究現(xiàn)有的應(yīng)用系統(tǒng)并把主要的處理程序轉(zhuǎn)換為數(shù)據(jù)庫(kù)中存儲(chǔ)的程序代碼。在Oracle中存儲(chǔ)代碼可以通過過程、程序包、函數(shù)、觸發(fā)器等來(lái)實(shí)現(xiàn)。
SQL代碼的重用9/27/202337內(nèi)容提要10g9iR2一個(gè)銀行業(yè)務(wù)處理流程理解SQL執(zhí)行過程關(guān)于CURSOR_SHARING參數(shù)
監(jiān)視SQLArea的SQL語(yǔ)句調(diào)整SQL步驟9/27/202338CURSOR_SHARING參數(shù)與SHRAED_POOL_SIZE有關(guān)什么是SHARED_POOLSHARED_POOL分為兩個(gè)局部第一局部為庫(kù)高速緩存第二局部為字典高速緩存PL/SQL程序分析后存放在庫(kù)高速緩存共享池由SHARED_POOL_SIZE參數(shù)設(shè)置9/27/202339CURSOR_SHARING參數(shù)-不同SQLselectname,addressfromapp.employee;selectname,addressfromapp.employee;selectname,addressfromemployee;selectaddressfromempwherename=‘Emke,Larry’;selectaddressfromempwherename=‘Drake,Rick’;selectaddressfromempwherename=:EMP;selectsysdatefromdual;selectto_char(sysdate,‘dd-mon-yy’)fromdual;9/27/202340CURSOR_SHARING參數(shù)CURSOR_SHARING可能的值:FORCEEXACT(default)SIMILAR(Oracle9i/10g/11g)CURSOR_SHARING有三種修改:ALTERSYSTEMALTERSESSIONSPFILE(或INITsid.ora)CURSOR_SHARING_EXACT提示9/27/202341CURSOR_SHARING參數(shù)8iR2開始引入cursor_sharing參數(shù)8i設(shè)置cursor_sharing=FORCE和EXACT(默認(rèn))9i增加SIMILAR參數(shù)值默認(rèn)值是EXACT-它只允許完全相同文本的語(yǔ)句共享一個(gè)游標(biāo)。這是早期版本的行為;SIMILAR參數(shù)值使相似語(yǔ)句共享同樣的游標(biāo),而不危及執(zhí)行方案的平安。例如:只有最優(yōu)共享語(yǔ)句共享游標(biāo);FORCE會(huì)強(qiáng)迫Oracle對(duì)相似語(yǔ)句共享游標(biāo),但存在非最優(yōu)執(zhí)行方案的風(fēng)險(xiǎn),如,最優(yōu)共享和非最優(yōu)共享語(yǔ)句會(huì)共享同一個(gè)游標(biāo)。SQL>SELECT*FROMMYTABLEWHERENAME='tom'SQL>SELECT*FROMMYTABLEWHERENAME='turner'9/27/202342CURSOR_SHARING_EXACT提示CURSOR_SHARING_EXACT提示被用于在語(yǔ)句級(jí)控制游標(biāo)共享;這個(gè)標(biāo)記類似于初始化參數(shù)cursor_sharing被設(shè)置為EXACT,并屏蔽原來(lái)的初始化參數(shù)它導(dǎo)致語(yǔ)句共享采用精確匹配構(gòu)建的游標(biāo)。下面例子〔見下一頁(yè)):9/27/202343CURSOR_SHARING_EXACT提示CURSOR_SHARING_EXACT例子下面例子使用提示:ALTERSYSTEMSETcursor_sharing='SIMILAR'SCOPE=BOTH;…--astheclientruntwosimilarSQLstatementsSELECTlatitudeFROMuwclass.serversWHEREsrvr_id=1;SELECTlatitudeFROMuwclass.serversWHEREsrvr_id=2;SELECTlatitudeFROMuwclass.serversWHEREsrvr_id=3;…SELECTaddress,child_address,sql_text,sql_idFROMgv$sqlWHEREsql_fulltextLIKE'%uwclass%';SELECT/*+CURSOR_SHARING_EXACT*/latitudeFROMuwclass.serversWHEREsrvr_id=3;SELECTaddress,child_address,sql_text,sql_idFROMgv$sqlWHEREsql_fulltextLIKE'%uwclass%';……9/27/202344內(nèi)容提要10g9iR2一個(gè)銀行業(yè)務(wù)處理流程理解SQL執(zhí)行過程關(guān)于CURSOR_SHARING參數(shù)
監(jiān)視SQLArea的SQL語(yǔ)句調(diào)整SQL步驟9/27/202345監(jiān)視SQLArea的SQL語(yǔ)句V$SYSSTAT–顯示OracleCPU所有會(huì)話情況V$SESSTAT–顯示每個(gè)會(huì)話對(duì)OracleCPU使用情況V$SQLAREA–顯示目前運(yùn)行的SQL語(yǔ)句根本情況9/27/202346監(jiān)視SQLArea的SQL語(yǔ)句查詢過分分析的語(yǔ)句:高的百分比說(shuō)明CPU花在分析語(yǔ)句上而不是執(zhí)行上.PL/SQL程序應(yīng)該采用綁定變量;加大SHARED_POOL配置SELECTs1.value/s2.value*100FROMv$sysstats1,v$sysstats2WHERE=‘parsetimecpu’AND=‘cpuusedbythissession’;9/27/202347監(jiān)視SQLArea的SQL語(yǔ)句查詢頻繁重分析的語(yǔ)句:如果分析接近執(zhí)行數(shù),那么說(shuō)明每個(gè)語(yǔ)句在執(zhí)行時(shí)都被分析一次.SELECTsql_text,parse_calls,executionsFROMv$sqlareaORDERBYparse_callsdesc;9/27/202348監(jiān)視SQLArea的SQL語(yǔ)句下面查詢結(jié)果應(yīng)該比較低.表示語(yǔ)句不用重分析就可執(zhí)行.SELECTs1.value/s2.valueFROMv$sysstats1,v$sysstats2WHERE=‘parsecount(hard)’AND=‘executecount’;9/27/202349監(jiān)視SQLArea的SQL語(yǔ)句本地頻繁分析的語(yǔ)句:如果存在很高的類似的語(yǔ)句,可采用綁定變量.SELECTsubstr(sql_text,1,40),count(*)FROMv$sqlareaGROUPBYsubstr(sql_text,1,40)HAVINGcount(*)>3ORDERBY2desc;9/27/202350監(jiān)視SQLArea的SQL語(yǔ)句能從緩沖區(qū)得到哪些SQL語(yǔ)句在使用CPU50000是一個(gè)隨意給定的點(diǎn).用EXPLAIN或跟蹤可得到.SELECTbuffer_gets,executions,buffer_gets/executionsratio,sql_text,address,hash_valueFROMv$sqlareaWHEREbuffer_gets>50000ANDexecutions>0ORDERBY3desc;9/27/202351監(jiān)視SQLArea的SQL語(yǔ)句找出最消耗CPU的會(huì)話:注意:某時(shí)間點(diǎn)都會(huì)找出最差的語(yǔ)句(相對(duì))SELECTss.us
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)美購(gòu)銷合同范本
- pos采購(gòu)合同范本
- 北京市工商局家裝合同范本
- 醫(yī)療吊塔采購(gòu)合同范本
- 勞務(wù)補(bǔ)差價(jià)合同范本
- 醫(yī)院搬家合同范本
- 公司采購(gòu)長(zhǎng)期合同范本
- 化妝品代銷合同范本
- 單位窗簾定制合同范例
- 京東企業(yè)購(gòu)合同范本
- 2025年教科版科學(xué)五年級(jí)下冊(cè)教學(xué)計(jì)劃(含進(jìn)度表)
- 劇本殺范本完整版
- 北師大版一年級(jí)語(yǔ)文下冊(cè)第一單元元宵節(jié)《1元宵節(jié)》
- 歐盟一般食品法Regulation-(EC)-No-178-2002中文翻譯
- 2024屆高考語(yǔ)文二輪復(fù)習(xí)詩(shī)歌專題訓(xùn)練文學(xué)短評(píng)類題型(含解析)
- 2024年全球協(xié)作機(jī)器人產(chǎn)業(yè)發(fā)展白皮書
- 春節(jié)安全生產(chǎn)開工第一課培訓(xùn)課件內(nèi)容
- 消防設(shè)施維保過程風(fēng)險(xiǎn)及保障措施
- 中國(guó)傳統(tǒng)文化非遺文化中國(guó)剪紙介紹2
- 智能交通系統(tǒng)概論 課件全套 朱文興 第1-10章 緒論 - 城市交通子區(qū)控制系統(tǒng)
- 飲酒與糖尿病
評(píng)論
0/150
提交評(píng)論