數(shù)據(jù)庫(kù)引擎接收到一個(gè)新的查詢(xún)請(qǐng)求(Batch或SP),查詢(xún)優(yōu)化器會(huì)生成執(zhí)行計(jì)劃,并緩存到內(nèi)存中;下次再次執(zhí)行相同的查詢(xún)請(qǐng)求時(shí),數(shù)據(jù)庫(kù)引擎從復(fù)用已經(jīng)緩存的執(zhí)行計(jì)劃,換句話(huà),數(shù)據(jù)庫(kù)引擎為每一個(gè)查詢(xún)請(qǐng)求生成執(zhí)行計(jì)劃,并把已經(jīng)生成的執(zhí)行計(jì)劃緩存起來(lái),當(dāng)接收到相同的查詢(xún)請(qǐng)求時(shí),數(shù)據(jù)庫(kù)引擎復(fù)用已緩存的執(zhí)行計(jì)劃。查詢(xún)請(qǐng)求(Batch或SP)中的每一個(gè)查詢(xún)語(yǔ)句的執(zhí)行計(jì)劃,都會(huì)被緩存到內(nèi)存中,數(shù)據(jù)庫(kù)引擎統(tǒng)計(jì)執(zhí)行計(jì)劃的性能參數(shù),緩存在DMV:sys.dm_exec_query_stats中,在該視圖中,每一行數(shù)據(jù)都表示一個(gè)查詢(xún)語(yǔ)句的統(tǒng)計(jì)數(shù)據(jù):
sql_handle:用以唯一標(biāo)識(shí)一個(gè)TSQL文本(Batch或SP),TSQL文本存儲(chǔ)在SQL Manager Cache(SQLMGR)中;
plan_handle:用于唯一標(biāo)識(shí)一個(gè)已編輯的查詢(xún)計(jì)劃,查詢(xún)計(jì)劃存儲(chǔ)在計(jì)劃緩存中;
一個(gè)sql_handle 能夠生成多個(gè)查詢(xún)計(jì)劃,對(duì)應(yīng)多個(gè)plan_handle,但是每個(gè)plan_handle只能對(duì)應(yīng)一個(gè)sql_handle 。
一,獲取查詢(xún)語(yǔ)句
視圖sys.dm_exec_query_stats 緩存的是單個(gè)查詢(xún)語(yǔ)句的執(zhí)行計(jì)劃,而sql_handler引用的是整個(gè)TSQL文本(Batch或SP),為了獲得單個(gè)查詢(xún)語(yǔ)句的文本,必須通過(guò)語(yǔ)句的偏移字段來(lái)抽取,偏移量是字節(jié),字節(jié)數(shù)量從0開(kāi)始:
statement_start_offset:語(yǔ)句開(kāi)始偏移的字節(jié)序號(hào)
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式