自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL體系結(jié)構(gòu)之SQLServer線程管理

數(shù)據(jù)庫 SQL Server
SQLServer線程由WindowsNT平均地分配線程,下文對SQLServer線程管理作了詳盡的闡述,如果您對這方面感興趣的話,不妨一看。

對于SQLServer線程管理,可能很多剛剛接觸SQL數(shù)據(jù)庫的新人都比較陌生,下面就為您詳細介紹SQLServer線程管理,希望對您學(xué)習(xí)SQLServer線程管理方面能有所幫助。

復(fù)雜的應(yīng)用具有多個需要同步完成的任務(wù)或處理過程。一個進程具有一個執(zhí)行線程,執(zhí)行應(yīng)用的程序指令。我們將這個執(zhí)行線程簡稱為線程(thread)。SQLServer使用WindowsNT操作系統(tǒng)的線程,有時是SQLServer的纖維(見下面的討論),執(zhí)行并發(fā)任務(wù)(微軟的SQLServer桌面版不支持纖維)。線程由SQLServer啟動,然后WindowsNT在SQLServer可用的多個處理器(CPU)之間平均地分配線程??梢酝ㄟ^企業(yè)管理器,或通過設(shè)置SQLServer的配置參數(shù)affinitymask來配置SQLServer可以使用的處理器的數(shù)量。

大多數(shù)系統(tǒng)通過允許SQLServer使用系統(tǒng)中的所有CPU,工作得***。一個線程一個時間可以在系統(tǒng)的一個CPU上執(zhí)行。例如,具有四個CPU的系統(tǒng)可以并發(fā)執(zhí)行四個線程。當一個線程可能處于等待I/O操作完成的狀態(tài)時,另一個線程可以運行在相同的CPU上,即使在一個單CPU的系統(tǒng)中,也是如此。這樣一來增加了可以執(zhí)行的工作量。線程的管理是由WindowsNT核心代碼維護的。當一個線程移出一個CPU,另一個線程移入CPU時,發(fā)生一次環(huán)境切換(contextswitch)。環(huán)境切換是一個相當耗時的操作,因為它需要在應(yīng)用代碼的用戶模式與SQLServer線程管理代碼的核心模式之間進行切換,因此,設(shè)備環(huán)境切換越少越好。為減少環(huán)境切換,SQLServer具有一個稱為纖維(fibers)的新特性。

纖維是線程的子部件,缺省情況下,SQLServer并不使用纖維,但可以通過配置讓SQLServer使用纖維。纖維由運行在用戶模式的代碼來維護,因此,切換纖維比起切換線程的操作來,并不耗時,因為不需要在核心模式與用戶模式之間改變模式。纖維的調(diào)度表由SQLServer維護,而線程的調(diào)度表由WindowsNT維護;多個纖維可以運行在同一個線程上,并且纖維可以在線程中進行切換,而此時在CPU上執(zhí)行的線程不用切換環(huán)境。這樣大大降低了系統(tǒng)上的環(huán)境切換次數(shù)。如果你的系統(tǒng)執(zhí)行了許多環(huán)境切換,試試以纖維模式運行SQLServer。要這樣做,必須通過企業(yè)管理器選擇該選項,或者運行sp_configure并設(shè)置lightweightpooling(輕型池)參數(shù),它也是一個高級選項。

SQLServer維護線程池以執(zhí)行SQL語句。如果設(shè)置了纖維模式,將維護纖維池而不是線程池。池中的線程或纖維,稱為工作者線程(workerthread)。當在同一時間執(zhí)行多條SQL語句時,工作者線程池允許SQLServer更好地分配CPU的處理時間。也可以使用配置參數(shù)maxworkerthreads(***工作者線程)配置SQLServer可用的工作者線程的數(shù)量,***值為255(可以通過企業(yè)管理器配置,或使用sp_configure存儲過程配置)。

當發(fā)送一條SQL語句或一批語句給SQLServer執(zhí)行時,如果池中存在空閑線程,SQLServer為該語句或批語句分配一個工作者線程;如果沒有現(xiàn)存的空閑線程,并且尚未達到***工作者線程數(shù),SQLServer將為這個處理啟動一個新的線程;如果達到了***線程數(shù),并且沒有空閑線程,處理必須等待另一個批處理完成它的任務(wù)并釋放一個線程,這種等待通常時間不會太長。如果發(fā)現(xiàn)一個已達到***工作者線程限制的SQLServer錯誤,可以嘗試一下增大該參數(shù)值。然而,千萬記住,允許創(chuàng)建過多的線程會導(dǎo)致更多的開銷,最終會降低性能。
 

 

 

 

【編輯推薦】

帶您了解SQL Server權(quán)限管理策略

SQL Server服務(wù)器角色簡介

SQL Server用戶帳號管理

帶您了解SQL Server 2008優(yōu)點

SQL Server同步復(fù)制的實現(xiàn)

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-09-08 14:34:42

Linq to SQL

2009-02-05 11:07:27

Sybase SQL SybaseSQL Server

2012-02-06 17:22:44

MySQL

2014-07-23 09:33:52

2009-07-15 13:46:26

Swing體系結(jié)構(gòu)

2020-04-15 21:43:22

JVMJavaVMware

2009-08-04 15:44:01

WLAN無線通信網(wǎng)網(wǎng)絡(luò)管理體系網(wǎng)絡(luò)管理結(jié)構(gòu)

2009-06-26 15:58:28

EJB

2009-09-11 10:38:03

LINQ體系結(jié)構(gòu)

2009-07-10 16:07:10

TikeSwing創(chuàng)建MVC體系結(jié)構(gòu)

2010-04-23 09:13:05

Oracle體系結(jié)構(gòu)

2010-09-25 13:38:23

Inside JVM

2016-12-26 10:29:01

Spring框架結(jié)構(gòu)

2010-06-21 14:51:14

ASON路由

2010-08-16 12:54:21

ASON路由技術(shù)

2010-02-23 16:07:39

2023-07-04 15:00:47

微服務(wù)架構(gòu)開發(fā)

2017-08-03 14:01:07

大數(shù)據(jù)深度學(xué)習(xí)體系結(jié)構(gòu)

2010-09-16 14:36:43

Java虛擬機

2010-01-22 17:57:40

點贊
收藏

51CTO技術(shù)棧公眾號