麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2016 TempDb里的顯著提升

2024-08-31 01:03:32
字體:
來源:轉載
供稿:網友

幾個星期前,SQL Server 2016的最新CTP版本已經發布了:CTP 2.4(目前已經是CTP 3.0)。關于SQL Server 2016 CTP2.3 的關鍵特性總結,在此不多說了,具體內容請查相關資料。這個預覽版相比以前的CTP包含了很多不同的提升。在這篇文章里我會談下對于SQL Server 2016,TempDb里的顯著提升。

TempDb定制

在SQL Server 2016安裝期間,第一個你會碰到的改變是在安裝過程中,現在你能配置TempDb的物理配置。我們可以詳細看下面的截屏。

SQL Server 2016 TempDb里的顯著提升

微軟現在檢測幾個可用的CPU內核,基于這個數字安裝程序自動配置TempDb文件個數。這個對克服閂鎖競爭問題(Latch Contention problem)非常重要,通常當你運行TempDb時,只有一個數據文件會發生。這里安裝向導使用下列公式:

當你有小于等于8個CPU內核,你會獲得和你CPU內核數一樣的TempDb數據文件數。
如果你有超過8個CPU內核,你會得到開箱即用的8個TempDb數據文件。
我在不同的配置上測試了安裝向導,下表總結了TempDb數據文件的不同個數。

CPU內核    TempDb數據文件

2        2

4        4

8        8

32        8

這是一個巨大的進步!當我進行SQL Server健康檢查時,TempDb只有一個數據文件,會有一些閂鎖競爭問題(Latch Contention problem)是常見的。

如果在向導里你提供多個數據路徑,你可以在各個文件夾之間循環(round-robin)分配。有一點我不喜歡的是,新的配置8MB的初始大小和64MB的自動增長率。

分配和自動增長

在SQL Server 2016之前,很多人使用1117和1118跟蹤標記來定義SQL Server在數據庫里如何分配頁,和如何在多個數據文件間處理自動增長操作。在以前的SQL Server版本里,臨時表的數據頁總分配在所謂的混合區(Mixed Extends),它大小是64kb在多個數據庫對象(像表和索引)間共享。

使用這個方法微軟保證小表保持小,因為數據庫的第1個8頁總在混合區分配。接下來的頁(第9頁開始)在所謂的統一區(也是64k大小)里分配。每次你給數據庫對象分配一個統一區,對象本身立即增長64kb。

當你啟用SQL Server的1118跟蹤標記,對于整個SQL Server實例,只在統一區分配,混合區會被忽略。使用這個方法是可以減少在SGAM(共享全局分配映射(Shared Global Allocation Map)頁,管理混合區)頁上的閂鎖競爭問題(Latch Contention problem)。

在SQL Server 2016里TempDb分配總在統一區里發生,而不使用混合區——不需要啟用任何跟蹤標記。除臨時表外的分配還是使用混合區。下面的例子展示了在臨時表7個分配的頁直接存儲在統一區,而完全不使用混合區。

USE tempdb GO CREATE TABLE #HelperTable ( Col INT IDENTITY(, ) PRIMARY KEY NOT NULL, Col CHAR() NOT NULL ) GO -- Insert records, this allocates pages in tempdb INSERT INTO #HelperTable VALUES (REPLICATE('a', )) GO -- Enable DBCC trace flag DBCC TRACEON() GO -- Retrieve the temp table name from sys.tables SELECT name FROM sys.tables WHERE name LIKE '#HelperTable%' GO -- Retrieve the first data page for the specified table (columns PageFID and PagePID) DBCC IND(tempdb, [#HelperTable________________________________________________________________________________________________________B], -) GO -- Dump the IAM page of the table TestTable retrieved by DBCC IND previously -- No pages are allocated in Mixed Extents, a complete Uniform Extent is allocated. DBCC PAGE (tempdb, , , ) GO -- Clean up DROP TABLE #HelperTable GO

在過去1117跟蹤標記和TempDb結合進行同時自動增長操作。確保文件在同個區里同時增長非常重要。不然成比例的填充算法(proportional fill algorithm)不能發揮應有的作用。使用SQL Server 2016,你就直接有1117跟蹤標記的這個功能,而不需要啟用。

小結

花了很長時間后,微軟終于開始在SQL Server安裝向導里進行更好的默認配置。根據可用CPU核心數配置TempDb是個巨大的進步。我們來看看下個版本會提供根據實際情況能配置MAXDOP,并行開銷閾值和服務器最大內存等等...

本文到此介紹了,感謝您的關注!


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美精品久久久久久久久久 | 亚洲成人网一区 | 国产精品久久久久永久免费 | 久草在线观看福利视频 | 久久久日韩av免费观看下载 | 精品一区二区三区网站 | 欧美城网站地址 | 久久久一区二区三区视频 | 91一区二区在线观看 | 国产精品91在线 | 国产精品久久久久久久久久久久午夜 | 久久免费视频7 | 成人午夜视频免费 | 看免费av | 国产噜噜噜噜噜久久久久久久久 | 亚洲成人福利网站 | 久久精品无码一区二区三区 | 欧美日韩手机在线观看 | 一级毛片免费在线 | 午夜精品在线视频 | 99国产精品欲a | 久久久久久久久久久久免费 | 日本精品黄色 | 九一免费版在线观看 | 香蕉久草在线 | 羞羞视频免费观看入口 | 97中文字幕第一一一页 | av在线免费看网址 | 成人综合在线观看 | 欧美片a| 91在线精品亚洲一区二区 | 久久国产精品成人免费网站 | 黄色片快播 | 97porn| 国产精品美女久久久久久网站 | 在线观看免费视频麻豆 | 一级做a爰性色毛片免费1 | 国产精品亚洲激情 | 午夜精品在线视频 | 国产在线色 | 国产在线观看91精品 |