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

淺談如何優(yōu)化SQL Server服務(wù)器

數(shù)據(jù)庫 SQL Server 數(shù)據(jù)庫運維
在中國,使用SQLServer數(shù)據(jù)庫的用戶和企業(yè)是最多的,那么如何去設(shè)計和優(yōu)化SQLSerer服務(wù)器呢,DBA應(yīng)該遵循那些準則和方法呢,下面就將我的經(jīng)驗與大家分享,希望對大家有所幫助。

1.數(shù)據(jù)和日志文件分開存放在不同磁盤上

數(shù)據(jù)文件和日志文件的操作會產(chǎn)生大量的I/O。在可能的條件下,日志文件應(yīng)該存放在一個與數(shù)據(jù)和索引所在的數(shù)據(jù)文件不同的硬盤上以分散I/O,同時還有利于數(shù)據(jù)庫的災(zāi)難恢復。

2.tempdb數(shù)據(jù)庫單獨存放在不同磁盤上

tempdb數(shù)據(jù)庫是其他所有數(shù)據(jù)庫都有可能使用的臨時數(shù)據(jù)庫。當使用select into、在沒建立索引的列上執(zhí)行Orderby時就會在tempdb數(shù)據(jù)庫中產(chǎn)生臨時表來存儲中間數(shù)據(jù)。由于建立和填充臨時表會嚴重降低系統(tǒng)性能,所以在盡可能的情況下應(yīng)該為要排序的列建立索引。同時,tempdb數(shù)據(jù)庫是為所有的用戶和應(yīng)用程序共享,所以如果一個用戶占據(jù)了tempdb數(shù)據(jù)庫的所有空間,則其他數(shù)據(jù)庫將不能再使用。在可能的情況下,tempdb數(shù)據(jù)庫應(yīng)該單獨放置在一個速度更快的硬盤或者RAID陣列上。分離tempdb數(shù)據(jù)庫的I/O操作以加快性能。tempdb數(shù)據(jù)庫應(yīng)該有適當?shù)娜萘?,以滿足用戶的需要。應(yīng)該允許tempdb數(shù)據(jù)庫的空間自動增長。如果設(shè)置為不允許自動增長,當查詢操作建立了超過tempdb數(shù)據(jù)庫容量的臨時表時,操作將無法完成。

適當設(shè)置tempdb數(shù)據(jù)庫的增長幅度,過小的增長幅度會產(chǎn)生更多的外部碎片,會占用更多的資源。

3.避免熱點數(shù)據(jù)的發(fā)生

在SQLServer7.0之前,對于沒有聚集索引的表(堆集表),新插入的數(shù)據(jù)行總是放置在磁盤中表的物理結(jié)尾處。如果并發(fā)的用戶很多,同時在對表執(zhí)行插入或者更新數(shù)據(jù)的操作,這將使得十分繁忙的表的末尾有可能產(chǎn)生數(shù)據(jù)熱點。并發(fā)的I/O操作集中對少數(shù)頁面進行操作,將導致數(shù)據(jù)庫性能的下降。

在SQLServer中,新的數(shù)據(jù)行的物理存儲空間的分配是通過PFS頁面來進行的。PFS頁面的管理算法將插入操作進行分散來盡量避免產(chǎn)生數(shù)據(jù)熱點。

在設(shè)計應(yīng)用系統(tǒng)和數(shù)據(jù)庫時,要避免在自然增長的列上建立主鍵,這樣有可能導致熱點數(shù)據(jù)的發(fā)生。

4.數(shù)據(jù)類型要少

在設(shè)計表時,盡可能少用數(shù)據(jù)類型。這樣一個數(shù)據(jù)頁面上可以保存最多的信息。數(shù)據(jù)頁面就少,檢索數(shù)據(jù)頁面的I/O操作就少,所以效率會高。

5.監(jiān)控和整理空間碎片

文件空間的自動增長提高了自動管理性,但可能導致空間碎片。物理空間與數(shù)據(jù)的邏輯空間不再連續(xù)。定期的監(jiān)控和空間碎片整理有利于提高I/O性能。

6.使用主數(shù)據(jù)文件和次要數(shù)據(jù)文件

每個數(shù)據(jù)庫的一個主數(shù)據(jù)文件屬于主文件組。對于1GB左右規(guī)模的數(shù)據(jù)庫,一個數(shù)據(jù)文件就夠了,如果有次要數(shù)據(jù)文件,主數(shù)據(jù)文件中有管理次要數(shù)據(jù)文件的指針。

采用多個數(shù)據(jù)文件時,主數(shù)據(jù)文件用于存儲系統(tǒng)對象和表,次要數(shù)據(jù)文件用于存儲用戶數(shù)據(jù)和索引。在可能的情況下,主數(shù)據(jù)文件和次要數(shù)據(jù)文件可以單獨存放在不同的磁盤上以分散I/O。

如果采用多個數(shù)據(jù)文件,推薦主數(shù)據(jù)文件存儲系統(tǒng)數(shù)據(jù),次要數(shù)據(jù)文件存放用戶數(shù)據(jù)和索引,這樣會有助于提高I/O性能。

7.利用文件組改善性能

在大型數(shù)據(jù)庫系統(tǒng)中,可以考慮建立文件組來管理數(shù)據(jù)文件。將表和索引通過存放在不同的物理磁盤上進行性能監(jiān)控比較,最后得出優(yōu)化的存儲方案。

8.重視自動增長和自動收縮可能導致的性能問題

數(shù)據(jù)庫文件的自動增長和自動收縮功能對于小型數(shù)據(jù)庫的管理十分有用。但可能導致大型數(shù)據(jù)庫的性能問題。因為文件的自然增長的同時會導致存儲碎片的發(fā)生。當文件空間變大時,新分配的空間不一定和原來的空間連續(xù)。當文件空間收縮時,釋放了部分空間。然而當文件又需要增長存儲空間卻不能利用原先釋放的空間,也會導致碎片的發(fā)生。

9.分離系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)

將系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫分開存放在不同的物理磁盤上有助于改善I/O性能,有助于數(shù)據(jù)庫備份和恢復。

10.優(yōu)化索引設(shè)計

索引的設(shè)計對數(shù)據(jù)庫的性能十分重要。具體不再闡述,可參見本博相關(guān)文章。

11.定期更新統(tǒng)計信息

SQLServer默認使用基于代價的優(yōu)化,所以統(tǒng)計信息的及時更新對于查詢優(yōu)化十分重要。

12.定期的一致性檢查

定期對數(shù)據(jù)庫進行一致性檢查,確保數(shù)據(jù)庫的完整性。

【編輯推薦】

  1. 用并行查詢讓SQL Server加速運行
  2. SQL Server數(shù)據(jù)庫優(yōu)化經(jīng)驗總結(jié)
  3. 影響SQL Server性能的三個關(guān)鍵點
責任編輯:彭凡 來源: 新浪博客
相關(guān)推薦

2019-01-09 13:07:26

Tomcat服務(wù)器優(yōu)化

2010-07-14 09:52:50

SQL Server服

2010-06-17 10:23:38

SQL Server服

2022-09-26 09:19:38

服務(wù)器優(yōu)化

2010-11-09 14:47:46

SQL Server跨

2010-11-08 11:53:16

2010-10-20 15:53:37

SQL Server服

2010-09-02 11:20:47

SQL刪除

2021-03-10 11:47:01

CPU服務(wù)器指標

2012-01-18 11:25:36

服務(wù)器優(yōu)化

2011-08-01 10:49:12

服務(wù)器

2010-09-14 13:37:19

sql server備

2011-09-15 13:24:15

SQL Server性能監(jiān)視

2010-09-01 17:07:08

Sql刪除服務(wù)器

2010-08-25 14:40:49

DHCP服務(wù)器故障

2011-08-10 17:56:05

SQL Server連接請求

2010-11-08 17:20:54

SQL Server跨

2010-09-08 15:14:36

2009-01-08 17:43:17

服務(wù)器性能磁盤

2010-06-18 09:55:06

SQL Server
點贊
收藏

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