国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

SQL Server 服務器優化技巧淺談

2024-08-31 00:59:08
字體:
來源:轉載
供稿:網友
1.數據和日志文件分開存放在不同磁盤上

  數據文件和日志文件的操作會產生大量的I/O。在可能的條件下,日志文件應該存放在一個與數據和索引所在的數據文件不同的硬盤上以分散I/O,同時還有利于數據庫的災難恢復。

  2.tempdb數據庫單獨存放在不同磁盤上

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

  適當設置tempdb數據庫的增長幅度,過小的增長幅度會產生更多的外部碎片,會占用更多的資源。

  3.避免熱點數據的發生

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

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

  在設計應用系統和數據庫時,要避免在自然增長的列上建立主鍵,這樣有可能導致熱點數據的發生。

  4.數據類型要少

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

  5.監控和整理空間碎片

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

  6.使用主數據文件和次要數據文件

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐昌市| 邵东县| 罗山县| 灵石县| 郸城县| 镶黄旗| 简阳市| 兴海县| 宝坻区| 确山县| 岑巩县| 浦东新区| 云浮市| 临沧市| 聂荣县| 遂平县| 安陆市| 浦北县| 中超| 马公市| 扶风县| 九江县| 通渭县| 宿迁市| 扎囊县| 乃东县| 玉田县| 甘孜县| 泾阳县| 罗城| 克东县| 汽车| 福贡县| 雷山县| 禹州市| 柘荣县| 和龙市| 南充市| 襄垣县| 阜新市| 阜新市|