日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQL Server數據庫性能的優化

瀏覽:206日期:2023-10-29 08:49:41

編者按:數據庫性能優化和數據庫管理系統密切相關,不同的數據庫管理系統在具體操作上有很大不同。繼本報連續在2003年第48期、49期上刊登《Sybase數據庫性能調優》和《Oracle服務器性能調整攻略》,分別討論了Sybase和Oracle數據庫管理系統以后,本期我們將具體介紹SQL Server數據庫的性能優化方法。

數據庫是企業信息的核心,其應用水平的高低直接影響到企業管理水平。選擇了一個高性能的數據庫產品不等于就有一個好的數據庫應用系統,如果數據庫系統設計不合理,不僅會增加客戶端和服務器端程序的編程和維護的難度,而且還會影響系統實際運行的性能。一般來講,在一個管理信息系統的分析、設計、測試和試運行階段,因為數據量較小,設計人員和測試人員往往只注意到功能的實現,而很少會注意到性能的不足,等到系統投入實際運行一段時間后,才發現系統的性能在降低,這時再來考慮提高系統性能則要花費更多的人力、物力,而其最終結果就是給整個系統又打上了一個補丁,所以設計階段是優化的重點。本文以SQL Server數據庫為例,從以下幾個方面討論如何實現數據庫系統的性能優化。

數據庫設計

實現SQL Server數據庫的優化,首先要有一個好的數據庫設計方案。在實際工作中,許多SQL Server方案往往是由于數據庫設計得不好導致性能很差。實現良好的數據庫設計必須考慮這些問題:

1. 邏輯數據庫規范化問題

一般來說,邏輯數據庫設計會滿足規范化的前3級標準:

第1規范:沒有重復的組或多值的列;

第2規范: 每個非關鍵字段必須依賴于主關鍵字,不能依賴于一個組合式主關鍵字的某些組成部分;

第3規范: 一個非關鍵字段不能依賴于另一個非關鍵字段。

遵守這些規則的數據庫設計會產生較少的列和更多的表,因而也就減少了數據冗余,也減少了用于存儲數據的頁。

2. 生成物理數據庫

要想正確選擇基本物理實現策略,必須了解和利用好數據庫訪問格式和硬件資源的操作特點,特別是內存和磁盤子系統I/O。以下是一些常用技巧:

與每個表列相關的數據類型應該反映數據所需的最小存儲空間,特別是對于被索引的列更是如此。比如能使用smallint類型就不要用integer類型,這樣索引字段可以被更快地讀取,而且可以在一個數據頁上放置更多的數據行,因而也就減少了I/O操作。

把一個表放在某個物理設備上,再通過SQL Server的段把它的不分簇索引放在一個不同的物理設備上,這樣能提高性能。尤其是系統采用了多個智能型磁盤控制器和數據分離技術的情況下,這樣做的好處更加明顯。

用SQL Server段把一個頻繁使用的大表分割開,并放在多個單獨的智能型磁盤控制器的數據庫設備上,這樣也可以提高性能。因為有多個磁頭在查找,所以數據分離也能提高性能。

用SQL Server段把文本或圖像列的數據存放在一個單獨的物理設備上可以提高性能。一個專用的智能型的控制器能進一步提高性能。

應用系統設計

在應用系統的設計中,要著重考慮以下幾點:

1.合理使用索引

索引是數據庫中重要的數據結構,它的根本目的就是提高查詢效率。索引的使用要恰到好處,其使用原則如下:

在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的字段則由優化器自動生成索引;在頻繁進行排序或分組(即進行group by或order by操作)的列上建立索引;在條件表達式中經常用到的不同值較多的列上建立索引,在不同值少的列上不要建立索引。比如在雇員表的“性別列上只有“男與“女兩個不同值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴重降低更新速度。 如果待排序的列有多個,可以在這些列上建立復合索引。

2. 避免或簡化排序

應當盡量簡化或避免對大型表進行重復的排序。當能夠利用索引自動以適當的次序產生輸出時,優化器就避免了排序這個步驟。為了避免不必要的排序,就要正確地增建索引,合理地合并數據庫表(盡管有時可能影響表的規范化,但相對于效率的提高是值得的)。如果排序不可避免,那么應當試圖簡化它,如縮小排序的列的范圍等。

3.消除對大型表行數據的順序存取

在嵌套查詢中,表的順序存取對查詢效率可能產生致命的影響。我們有時可以使用并集來避免順序存取。盡管也許在所有的檢查列上都有索引,但某些形式的where子句會強迫優化器使用順序存取,這一點也應注意。

4. 避免相關子查詢

如果一個列同時在主查詢和where子句中出現,很可能當主查詢中的列值改變之后,子查詢必須重新查詢一次。而且查詢嵌套層次越多,效率越低,因此應當盡量避免子查詢。如果子查詢不可避免,那么要在子查詢中過濾掉盡可能多的行。

5.避免困難的正規表達式

Mathes和Like關鍵字支持通配符匹配,但這種匹配特別耗時。例如:SELECT * FROM customer WHERE zipcode LIKE “98_ _ _,即使在zipcode字段上已建立了索引,在這種情況下也還是采用順序掃描的方式。如果把語句改為:SELECT * FROM customer WHERE zipcode >“98000,在執行查詢時就會利用索引來查詢,顯然會大大提高速度。

6.使用臨時表加速查詢

把表的一個子集進行排序并創建臨時表,有時能加速查詢。它有助于避免多重排序操作,而且在其他方面還能簡化優化器的工作。臨時表中的行要比主表中的行少,而且物理順序就是所要求的順序,減少了磁盤I/O,所以查詢工作量可以得到大幅減少。但要注意,臨時表創建后不會反映主表的修改。在主表中數據頻繁修改的情況下,注意不要丟失數據。

操作系統相關優化

操作系統性能的好壞直接影響數據庫的使用性能,如果操作系統存在問題,如CPU過載、過度內存交換、磁盤I/O瓶頸等,在這種情況下,單純進行數據庫內部性能調整是不會改善系統性能的。我們可以通過Windows NT的系統監視器(System Monitor)來監控各種設備,發現性能瓶頸。

CPU 一種常見的性能問題就是缺乏處理能力。系統的處理能力是由系統的CPU數量、類型和速度決定的。如果系統沒有足夠的CPU處理能力,它就不能足夠快地處理事務以滿足需要。我們可以使用System Monitor確定CPU的使用率,如果以75%或更高的速率長時間運行,就可能碰到了CPU瓶頸問題,這時應該升級CPU。但是升級前必須監視系統的其他特性,如果是因為SQL語句效率非常低,優化語句就有助于解決較低的CPU利用率。而當確定需要更強的處理能力,可以添加CPU或者用更快的CPU 替換。

內存 SQL Server可使用的內存量是SQL Server性能最關鍵因素之一。而內存同I/O子系統的關系也是一個非常重要的因素。例如,在I/O操作頻繁的系統中,SQL Server用來緩存數據的可用內存越多,必須執行的物理I/O也就越少。這是因為數據將從數據緩存中讀取而不是從磁盤讀取。同樣,內存量的不足會引起明顯的磁盤讀寫瓶頸,因為系統緩存能力不足會引起更多的物理磁盤I/O。

可以利用System Monitor檢查SQL Server的Buffer Cache Hit Ratio計數器,如果命中率經常低于90%,就應該添加更多的內存。

I/O子系統 由I/O子系統發生的瓶頸問題是數據庫系統可能遇到的最常見的同硬件有關的問題。配置很差的I/O子系統引起性能問題的嚴重程度僅次于編寫很差的SQL語句。I/O子系統問題是這樣產生的,一個磁盤驅動器能夠執行的I/O操作是有限的,一般一個普通的磁盤驅動器每秒只能處理85次I/O操作,如果磁盤驅動器超載,到這些磁盤驅動器的I/O操作就要排隊,SQL的I/O延遲將很長。這可能會使鎖持續的時間更長,或者使線程在等待資源的過程中保持空閑狀態,其結果就是整個系統的性能受到影響。

解決I/O子系統有關的問題也許是最容易的,多數情況下,增加磁盤驅動器就可以解決這個性能問題。

當然,影響性能的因素很多,而應用又各不相同,找出一個通用的優化方案是很困難的,只能是在系統開發和維護的過程中針對運行的具體情況,不斷加以調整。

標簽: Sql Server 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩va亚洲va欧美va久久| 亚洲美女91| 日韩精品国产精品| 亚洲欧洲午夜| 黄色在线观看www| 国产九九精品| 日韩精品亚洲aⅴ在线影院| 香蕉久久国产| 欧美成人久久| 久久久成人网| 久久只有精品| 国产伦理久久久久久妇女| 日韩欧美久久| 亚洲精品日本| 蜜桃av一区二区在线观看| 婷婷综合激情| 国产精品普通话对白| 久久免费黄色| 1000部精品久久久久久久久| 欧洲亚洲一区二区三区| 正在播放日韩精品| 91精品韩国| 欧美黄色网页| 久久国产中文字幕| 一区二区小说| 四虎影视精品| 久久久久91| 尤物tv在线精品| 国产农村妇女精品一二区| 在线亚洲欧美| 日韩精品免费观看视频| 日韩av网站在线免费观看| 91成人精品在线| 久久爱www.| 天堂中文av在线资源库 | 国产精品一区二区三区四区在线观看| 88久久精品| 国内在线观看一区二区三区| 免费在线亚洲欧美| 国产精品地址| 久久男人天堂| 亚洲夜间福利| 中文字幕一区日韩精品| 日韩一区精品| 久久亚洲国产精品尤物| av资源新版天堂在线| 99成人在线视频| 国产精品日韩久久久| 亚洲精品日韩久久| 久久99精品久久久野外观看| www.九色在线| 夜久久久久久| 国产欧美日韩| 88xx成人免费观看视频库| 伊人久久视频| 国产亚洲一级| 国产精品密蕾丝视频下载| 水蜜桃久久夜色精品一区| 色天使综合视频| 亚洲三级毛片| 成人精品国产亚洲| 999在线观看精品免费不卡网站| 一区二区不卡| 丰满少妇一区| 亚洲一区观看| 国产欧美日韩在线观看视频| 成人影视亚洲图片在线| 狠狠久久婷婷| 欧美三区不卡| 亚洲黄色免费av| 国产精品女主播一区二区三区| 欧美日一区二区在线观看| 91欧美国产| 首页国产欧美日韩丝袜| 国产精品最新| 欧美成人综合| 国产欧美激情| 欧美在线资源| 国产精品www.| 自拍日韩欧美| 精品久久影院| 亚洲图片久久| 日韩不卡免费高清视频| 亚洲精品乱码久久久久久蜜桃麻豆| 青青国产91久久久久久| 欧美日韩尤物久久| 7m精品国产导航在线| 欧美日韩精品在线一区| 欧美日韩99| 日韩亚洲国产欧美| 国产suv精品一区二区四区视频| 亚洲无线观看| 亚洲爱爱视频| 国产激情综合| 蜜桃视频第一区免费观看| 国产一区二区三区91| 蜜臀a∨国产成人精品| 欧美片第1页| 国产精品xxx在线观看| 伊人久久婷婷| 国产一区二区三区四区五区| 丝袜脚交一区二区| 久久精品日韩欧美| 日本不卡不码高清免费观看| 日韩在线短视频| 国产精品白浆| 日欧美一区二区| 欧美日中文字幕| 精品免费av| 日韩av午夜在线观看| 好吊日精品视频| 国产精品毛片久久| 日韩av网站在线免费观看| 亚洲欧洲午夜| 国产传媒在线| 麻豆成人在线观看| 日韩黄色在线观看| 免费看日韩精品| 欧美另类综合| 久久久久国产一区二区| 麻豆精品在线| 国产毛片精品| 日韩欧美另类中文字幕| 亚洲欧美日韩精品一区二区 | 欧美国产精品| 久色成人在线| 欧美日韩在线网站| 日韩大片在线| 国产成人精品一区二区三区免费| 欧美一区二区三区久久| 亚洲青青久久| 亚洲欧美日韩专区| 女同性一区二区三区人了人一| 特黄特色欧美大片| 欧美精选视频一区二区| 成人亚洲一区| 精品国产aⅴ| 欧美交a欧美精品喷水| 国产日产精品_国产精品毛片| 亚洲精品字幕| 午夜亚洲精品| 一区在线免费观看| 欧美日一区二区| 久久国产日本精品| 久久五月天小说| 久久久久国产| 免费精品国产| 99日韩精品| 另类激情亚洲| 亚洲精品乱码日韩| 日韩高清电影一区| 国产精品探花在线观看| 国产亚洲久久| 国产伦精品一区二区三区在线播放| 国产三级一区| 国产日产精品_国产精品毛片 | 极品裸体白嫩激情啪啪国产精品| 日韩在线观看一区| 久久中文字幕二区| 欧美69视频| 国产精品毛片一区二区三区| 亚洲欧美日韩在线观看a三区| 丝袜a∨在线一区二区三区不卡| 一区三区视频| 综合激情一区| 日韩精品久久久久久久软件91| 日韩精品一区二区三区中文 | 激情婷婷综合| 亚洲欧美久久| 日韩精品91亚洲二区在线观看| 欧美精品国产一区| 国产精品蜜月aⅴ在线| 国产一区二区三区亚洲综合| 在线人成日本视频| 91精品一区二区三区综合| 国产毛片一区| 中文字幕日韩欧美精品高清在线| 一区二区亚洲视频| 国产欧美日韩亚洲一区二区三区| 精品国产午夜肉伦伦影院 | 麻豆国产91在线播放| 日韩电影免费网址| 狠狠干综合网| 欧美激情视频一区二区三区免费| 在线观看精品| 免费在线观看视频一区| 欧美在线首页| 91免费精品| 91久久中文| 蜜臀精品一区二区三区在线观看| 国产乱论精品| 日韩精品首页| 日本亚洲视频| 亚洲国产福利| 免播放器亚洲一区| 国产精品密蕾丝视频下载| 国产精品久久久久久久免费观看 | 久久久精品久久久久久96| 日本综合视频| 色婷婷久久久|