SQL Server 2008配置並行索引操作
在執行 SQL Server Enterprise 的多處理器計算機上,索引語句可能會像其他查詢那樣,使用多個處理器來執行與索引語句關聯的掃描、排序和索引操作。用於執行單個索引語句的處理器數是由配置選項 max degree of parallelism、當前工作負荷以及索引統計資訊決定的。max degree of parallelism 選項決定了執行並行計劃時使用的最大處理器數。如果 SQL Server 資料庫引擎檢測到系統忙,索引操作的並行度將自動降低,然後再開始執行語句。如果非分割槽索引的第一個鍵列包含有限數量的非重複值,或者每個非重複值的出現頻率變化較大,資料庫引擎也可能會降低並行度。
注意:
並行索引操作僅在 SQL Server Enterprise Edition、Developer Edition 和 Evaluation Edition 中可用。
查詢優化器使用的處理器數量通常能夠提供最佳的效能。但是,有些操作(如建立、重新生成或刪除很大的索引)佔用大量資源,在索引操作期間會造成沒有足夠的資源供其他應用程式和資料庫操作使用。出現此問題時,您可以通過指定 MAXDOP 索引選項並限制用於索引操作的處理器數,手動配置用於執行索引語句的最大處理器數。
MAXDOP 索引選項只為指定此選項的查詢覆蓋 max degree of parallelism 配置選項。下表列出了可為 max degree of parallelism 配置選項和 MAXDOP 索引選項指定的有效整數值。
值 說明
0
根據當前系統工作負荷,使用實際可用的 CPU 數量。這是預設值,還是推薦設定。
1
取消生成並行計劃。操作將以序列方式執行。
2-64
將處理器的數量限制為指定的值。根據當前工作負荷,可能使用較少的處理器。如果指定的值大於可用的 CPU 數量,將使用實際可用的 CPU 數量。
並行索引執行和 MAXDOP 索引選項適用於下列 Transact-SQL 語句:
CREATE INDEX
ALTER INDEX REBUILD
DROP INDEX(只適用於聚集索引。)
ALTER TABLE ADD (索引) CONSTRAINT
ALTER TABLE DROP (聚集索引) CONSTRAINT
使用 MAXDOP 索引選項時,與 max degree of parallelism 配置選項一起使用的所有語義規則均適用。有關詳細資訊,請參閱 max degree of parallelism 選項。
當執行帶有或不帶 LOB_COMPACTION 的 ALTER INDEX REORGANIZE 語句時,max degree of parallelism 值屬於單執行緒操作。不能在 ALTER INDEX REORGANIZE 語句中指定 MAXDOP 索引選項。
聯機索引操作
聯機索引操作允許在索引操作期間進行併發使用者活動。可以使用 MAXDOP 選項來控制專用於聯機索引操作的最大處理器數。通過這種方式,可以平衡在索引操作和併發使用者之間使用的資源。有關詳細資訊,請參閱聯機執行索引操作。
分割槽索引操作
如果查詢優化器將並行度應用於生成操作,則需要排序的已分割槽索引操作的記憶體需求可能會很大。並行度越高,記憶體需求就越大。有關詳細資訊,請參閱已分割槽索引的特殊指導原則。
示例
下列示例在 ProductVendor 表中建立索引 IX_ProductVendor_VendorID,並將 max degree of parallelism 選項設定為 8。假設伺服器有八個或更多處理器,資料庫引擎會將執行索引操作時使用的處理器數量限制為八個或少於八個。
USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.indexes
WHERE name = N'IX_ProductVendor_VendorID')
DROP INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor;
GO
CREATE INDEX IX_ProductVendor_VendorID
ON Purchasing.ProductVendor (VendorID)
WITH (MAXDOP=8);
GO
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-515885/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SERVER 2008安全配置SQLServer
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- SQL Server 2008 R2並行資料倉儲簡介SZSQLServer並行
- SQL Server 2008中的行壓縮(上)JUSQLServer
- SQL Server索引 - 非聚集索引SQLServer索引
- SQL Server2008 R2 資料庫映象配置方案SQLServer資料庫
- 1.4 SQL Server2008安裝與配置(2020-12-1)SQLServer
- 區分SQL Server 2008 R2資料中心和並行資料倉儲版本WBSQLServer並行
- SQL Server 索引結構SQLServer索引
- 雲伺服器SQL Server 2008 允許遠端連線的配置伺服器SQLServer
- SQL Server2008程式堵塞處理方法SQLServer
- Sql Server2008R2下載地址SQLServer
- SQL Server 2008連線字串寫法大全SQLServer字串
- SQL Server如何配置cdc進行ETLSQLServer
- SQL Server 2014的重建索引SQLServer索引
- Nodejs 操作 Sql ServerNodeJSSQLServer
- Analysis Services基礎知識——深入SQL Server 2008SQLServer
- Sql_server基本操作SQLServer
- win10怎麼安裝sql server2008 r2_win10如何安裝sql server2008 r2Win10SQLServer
- SQL Server 2008事件處理系統簡介LSSQLServer事件
- SQL Server 2008的故障轉移叢集概述UBSQLServer
- SQL Server 2008 R2雙機熱備方案SQLServer
- 最佳化SQL Server索引的技巧SQLServer索引
- SQL Server2014 雜湊索引原理SQLServer索引
- SQL Server 2008檔案流功能應用設想YCSQLServer
- sql server 索引闡述系列七 索引填充因子與碎片SQLServer索引
- Q&A:SQL Server 2008的升級與部署知識SOSQLServer
- SQL Server 操作要重建表被禁止SQLServer
- 資料庫映象 (SQL Server)操作模式資料庫SQLServer模式
- 關於SQL Server索引的最左匹配原則SQLServer索引
- 在SQL Server 2008中的SP上使用表型別值引數MHSQLServer型別
- SQL Server進行Crash RecoverySQLServer
- Linux 上配置 SQL Server Always On Availability GroupLinuxSQLServerAI
- 透過空間佔用和執行計劃瞭解SQL Server的行儲存索引SQLServer索引
- 關於SQL server2008除錯儲存過程的完整步驟SQLServer除錯儲存過程
- 注意:微軟將在2019年7月停止對SQL Server 2008的支援!微軟SQLServer
- Sql Server關於indexed view索引檢視的總結SQLServerIndexView索引
- SQL Server 列儲存索引 第一篇:概述SQLServer索引