中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

SQL Server 2005中Tempdb變化分析

2018-06-11    來(lái)源:

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

SQL Server 2005版本中的所有變化可以寫(xiě)成一本書(shū),事實(shí)上,已經(jīng)被寫(xiě)成了好幾本書(shū)。其中,最重要的變化不是功能上的變化;這些變化發(fā)生在用戶(hù)或者管理員無(wú)法立刻感覺(jué)到的內(nèi)部的行為上。這就是說(shuō),了解到它們是什么,它們?cè)谑裁礌顩r下會(huì)表現(xiàn)出來(lái),將會(huì)很有用。

這些的隱藏起來(lái)的性能提升中最好的一個(gè)例子就是tempdb數(shù)據(jù)庫(kù)??SQL Server用于臨時(shí)或者開(kāi)關(guān)操作的數(shù)據(jù)庫(kù)。對(duì)tempdb所做的很多優(yōu)化都是在透明的情況下,讓處理加速:

◆當(dāng)臨時(shí)表被創(chuàng)建的時(shí)候,臨時(shí)表會(huì)被緩存起來(lái)加速性能。然而,有一些表明確的不會(huì)被緩存:

◆關(guān)聯(lián)著顯式DDL的臨時(shí)表

◆關(guān)聯(lián)著命名的約束的臨時(shí)表

◆作為動(dòng)態(tài)產(chǎn)生的SQL語(yǔ)句的一部分的臨時(shí)表??例如,存儲(chǔ)過(guò)程sp_executeSQL的環(huán)境中

◆工作表的緩存得到提升。為了節(jié)約了空間,會(huì)被反復(fù)執(zhí)行的執(zhí)行計(jì)劃中的工作表被截短了;現(xiàn)在只有工作表中的前九個(gè)頁(yè)面才會(huì)保留。

◆很多其他類(lèi)型的臨時(shí)對(duì)象也被緩存以提高速度:當(dāng)在存儲(chǔ)過(guò)程、函數(shù)或者觸發(fā)器中使用時(shí),表值函數(shù),表變量和局部臨時(shí)表都會(huì)被緩存。對(duì)于某種特定的臨時(shí)對(duì)象的編目條目不會(huì)被立即丟棄,而是緩存以備將來(lái)的重用(一段時(shí)間之后,最少使用的對(duì)象將從緩存中清除)。

◆對(duì)于tempdb中記錄的一些修改將不再被記錄到日志中,這樣可以降低tempdb產(chǎn)生的日志和設(shè)備的I/O流量。INSERT操作只會(huì)記錄插入的記錄,DELETE操作只會(huì)記錄被刪除的記錄。只有UPDATE操作才會(huì)同時(shí)記錄原值和更新之后的值。(根據(jù)Microsoft的內(nèi)部資料,在此之前的版本,三種操作都會(huì)記錄操作之前的值和操作之后的值)

◆重新設(shè)計(jì)tempdb的文件被均衡寫(xiě)入的方式,減少對(duì)系統(tǒng)資源的競(jìng)爭(zhēng)。均衡寫(xiě)入意味著每一個(gè)tempdb文件(假設(shè)存在多個(gè)文件)會(huì)被同時(shí)寫(xiě)入。因此,如果每個(gè)物理文件分散到不同的磁頭上,那么對(duì)這些文件的寫(xiě)入可以更加有效率的并行處理。建議你為一個(gè)SQL Server在每一個(gè)CPU創(chuàng)建一個(gè)臨時(shí)文件,并且將每個(gè)臨時(shí)文件放在不同的磁頭上。

◆如果一個(gè)臨時(shí)表從tempdb中被丟棄,它會(huì)在后臺(tái)進(jìn)行處理以降低主機(jī)程序的等待時(shí)間。實(shí)際上,它會(huì)被立即處理。

不僅僅是性能,一些變化也影響到了SQL Server 2005的統(tǒng)計(jì)收集操作:

◆SQL Server 2005的動(dòng)態(tài)管理視圖(Dynamic Management Views)報(bào)告關(guān)于tempdb空間使用情況的統(tǒng)計(jì)數(shù)據(jù),可以通過(guò)查詢(xún)檢索到這些數(shù)據(jù)。例如,SELECT SUM (unallocated_extent_page_count)*8 as [Free Space] FROM sys.dm_db_file_space_usage會(huì)返回tempdb文件中以kilobytes計(jì)算的自由空間總數(shù)。

◆Trace標(biāo)志TF-1118(表示分配整個(gè)的extents給每個(gè)tempdb對(duì)象)已經(jīng)被重新改造,減少資源的競(jìng)爭(zhēng)。你可以用它作trace檢查而不用擔(dān)心對(duì)tempdb性能產(chǎn)生影響。

◆兩個(gè)新的性能指標(biāo),臨時(shí)表新建率(Temp Tables Creation Rate)和臨時(shí)表銷(xiāo)毀計(jì)數(shù)(Temp Tables for Destruction),在SQL Server 2005中出現(xiàn)。它們分別指示每秒鐘新建多少個(gè)臨時(shí)表和多少個(gè)臨時(shí)表在排隊(duì)銷(xiāo)毀。

這些變化可以讓程序員對(duì)tempdb實(shí)際的運(yùn)行方式有一些洞察,而不是被它表面上的行為所蒙蔽??毫無(wú)疑問(wèn),一個(gè)創(chuàng)新的程序員可以利用這些來(lái)寫(xiě)出更好的、更先進(jìn)的SQL Server 2005代碼。

標(biāo)簽: 代碼 計(jì)劃 數(shù)據(jù)庫(kù) 用戶(hù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀(guān)點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:戴爾改變存儲(chǔ)策略 推出“改變存儲(chǔ)經(jīng)濟(jì)”理念

下一篇:代理蠕蟲(chóng)變種借U盤(pán)傳播