天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

從外到內(nèi)提高SQL Server數(shù)據(jù)庫性能

  如何提高SQL Server數(shù)據(jù)庫的性能,該從哪里入手呢?筆者認為,該遵循從外到內(nèi)的順序,來改善數(shù)據(jù)庫的運行性能。如下圖:

  第一層:網(wǎng)絡環(huán)境

  到企業(yè)碰到數(shù)據(jù)庫反映速度比較慢時,首先想到的是是否是網(wǎng)絡環(huán)境所造成的。而不是一開始就想著如何去提高數(shù)據(jù)庫的性能。這是很多數(shù)據(jù)庫管理員的一個誤區(qū)。因為當網(wǎng)絡環(huán)境比較惡劣時,你就算再怎么去改善數(shù)據(jù)庫性能,也是枉然。

  如以前有個客戶,向筆者反映數(shù)據(jù)庫響應時間比較長,讓筆者給他們一個提高數(shù)據(jù)庫性能的解決方案。那時,筆者感到很奇怪。因為據(jù)筆者所知,這家客戶數(shù)據(jù)庫的記錄量并不是很大。而且,他們配置的數(shù)據(jù)庫服務器硬件很不錯。筆者為此還特意跑到他們企業(yè)去查看問題的原因。一看原來是網(wǎng)絡環(huán)境所造成的。這家企業(yè)的客戶機有200多臺,而且都是利用集線器進行連接。這就導致企業(yè)內(nèi)部網(wǎng)絡廣播泛濫,網(wǎng)絡擁塞。而且由于沒有部署企業(yè)級的殺毒軟件,網(wǎng)絡內(nèi)部客戶機存在病毒,掠奪了一定的帶寬。不僅數(shù)據(jù)庫系統(tǒng)響應速度比較慢,而且其他應用軟件,如郵箱系統(tǒng),速度也不理想。

  在這種情況下,即使再花十倍、百倍力氣去提升SQL Server數(shù)據(jù)庫的性能,也是竹籃子打水一場空。因為現(xiàn)在數(shù)據(jù)庫服務器的性能瓶頸根本不在于數(shù)據(jù)庫本身,而在于企業(yè)的網(wǎng)絡環(huán)境。若網(wǎng)絡環(huán)境沒有得到有效改善,則SQL Server數(shù)據(jù)庫性能是提高不上去的。

  為此,筆者建議這家企業(yè),想跟他們的網(wǎng)絡管理員談談,看看如何改善企業(yè)的網(wǎng)絡環(huán)境,減少廣播包和網(wǎng)絡沖突;并且有效清除局域網(wǎng)內(nèi)的病毒、木馬等等。三個月后,我再去回訪這家客戶的時候,他們反映數(shù)據(jù)庫性能有了很大的提高。而且其他應用軟件,性能也有所改善。

  所以,當企業(yè)遇到數(shù)據(jù)庫性能突然降低的時候,第一個反應就是查看網(wǎng)絡環(huán)境,看看其實否有惡化。只有如此,才可以少走冤枉路。

  第二層:服務器配置

  這里指的服務器配置,主要是講數(shù)據(jù)庫服務器的硬件配置以及周邊配套。雖然說,提高數(shù)據(jù)庫的硬件配置,需要企業(yè)付出一定的代價。但是,這往往是一個比較簡便的方法。比起優(yōu)化SQL語句來說,其要簡單的多。

  如企業(yè)可以通過增加硬盤的數(shù)量來改善數(shù)據(jù)庫的性能。在實際工作中,硬盤輸入輸出瓶頸經(jīng)常被數(shù)據(jù)庫管理員所忽視。其實,到并發(fā)訪問比較多的時候,硬盤輸入輸出往往是數(shù)據(jù)庫性能的一個主要瓶頸之一。此時,若數(shù)據(jù)庫管理員可以增加幾個硬盤,通過磁盤陣列來分散磁盤的壓力,無疑是提高數(shù)據(jù)庫性能的一個捷徑。

  如增加服務器的內(nèi)存或者CPU。當數(shù)據(jù)庫管理員發(fā)現(xiàn)數(shù)據(jù)庫性能的不理想是由內(nèi)存或者CPU所造成的,此時,任何的改善數(shù)據(jù)庫服務器本身的措施都將一物用處。所以,有些數(shù)據(jù)庫管理專家,把改善服務器配置當作數(shù)據(jù)庫性能調(diào)整的一個先決條件。

  如解決部署在同一個數(shù)據(jù)庫服務器上的資源爭用問題。雖然我們多次強調(diào),要為數(shù)據(jù)庫專門部署一個服務器。但是,不少企業(yè)為了降低信息化的成本,往往把數(shù)據(jù)庫服務器應用服務器放在同一個服務器中。這就會導致不同服務器之間的資源爭用問題。如把文件服務器跟數(shù)據(jù)服務器部署在同一個服務器中,當對文件服務器進行備份時,數(shù)據(jù)庫性能就會有明顯的下降。所以,在數(shù)據(jù)庫性能發(fā)現(xiàn)周期性的變化時,就要考慮是否因為服務器上不同應用對資源的爭奪所造成的。

  故,筆者建議,改善數(shù)據(jù)庫性能時第二個需要考慮的層面,就是要看看能否通過改善服務器的配置來實現(xiàn)。

  第三層:數(shù)據(jù)庫服務器

  當通過改善網(wǎng)絡環(huán)境或者提高服務器配置,都無法達到改善數(shù)據(jù)庫性能的目的時,接下去就需要考察數(shù)據(jù)庫服務器本身了。首先,就需要考慮數(shù)據(jù)庫服務器的配置。

  一方面,要考慮數(shù)據(jù)庫服務器的連接模式。提供了很多的數(shù)據(jù)庫模式,不同的數(shù)據(jù)庫連接模式對應不同的應用。若數(shù)據(jù)庫管理員能夠熟悉企業(yè)自身的應用,并且選擇合適的連接模式,這往往能夠達到改善數(shù)據(jù)庫性能的目的。

  其次,合理配置數(shù)據(jù)庫服務器的相關作業(yè)。如出于安全的需要,數(shù)據(jù)庫管理員往往需要對數(shù)據(jù)庫進行備份。那么,備份的作業(yè)放在什么時候合適呢?當然,放在夜晚,夜深人靜的時候,對數(shù)據(jù)庫進行備份最好。另外,對于大型數(shù)據(jù)庫,每天都進行完全備份將會是一件相當累人的事情。雖然累得不是我們,可是數(shù)據(jù)庫服務器也會吃不消。差異備份跟完全備份結合將是改善數(shù)據(jù)庫性能的一個不錯的策略。

  第四層:數(shù)據(jù)庫對象

  若以上三個層面后,數(shù)據(jù)庫性能還不能夠得到大幅度改善的話,則就需要考慮是否能夠調(diào)整數(shù)據(jù)庫對象來完成我們的目的。雖然調(diào)整數(shù)據(jù)庫對象往往可以提到不錯的效果,但是,往往會對數(shù)據(jù)庫產(chǎn)生比較大的影響。所以,筆者一般不建議用戶一開始就通過調(diào)整數(shù)據(jù)庫對象來達到改善數(shù)據(jù)庫性能的目的。

  數(shù)據(jù)庫對象有表、視圖、索引、關鍵字等等。我們也可以通過對這些對象進行調(diào)整以實現(xiàn)改善數(shù)據(jù)庫性能的目標。

  如在視圖設計時,盡量把其顯示的內(nèi)容縮小,寧可多增加視圖。如出貨明細表,銷售人員可能希望看到產(chǎn)品編號、產(chǎn)品中英文描述、產(chǎn)品名字、出貨日期、客戶編號、客戶名字等等。但是,對于財務來說,可能就不需要這么全的信息。他們只需要產(chǎn)品編號、客戶編號、出貨日期等等少量的信息即可。所以,能可浪費一點代碼的空間,設計兩張視圖,對應不同部門的需求。如此,財務部門在查詢數(shù)據(jù)時,不會為不必要的數(shù)據(jù)浪費寶貴的資源。

  如可以通過合理設置索引來提高數(shù)據(jù)庫的性能。索引對于提高數(shù)據(jù)的查詢效率,有著非常好的效果。對一些需要重復查詢的數(shù)據(jù)、或者數(shù)據(jù)修改不怎么多的表設置索引,無疑是一個不錯的選擇。

  另外,要慎用存儲過程。雖然說存儲過程可以幫助大家實現(xiàn)很多需求。但是,在萬不得已的情況下,不要使用存儲過程。而利用前臺的應用程序來實現(xiàn)需求。這主要是因為在通常情況下,前臺應用程序的執(zhí)行效率往往比后臺數(shù)據(jù)庫存儲過程要高的多。

  第五層:SQL 語句

  若以上各個層面你都努力過,但是還不滿足由此帶來的效果的話,則還有最后一招。通過對SQL語句進行優(yōu)化,也可以達到改善數(shù)據(jù)庫性能的目的。

  雖然說SQL Server服務器自身就帶有一個SQL語句優(yōu)化器。他會對用戶的SQL語句進行調(diào)整、優(yōu)化,以達到一個比較好的執(zhí)行效果。但是,據(jù)筆者的了解,這個最多只能夠優(yōu)化一些粗略的層面。或者說,80%的優(yōu)化仍然需要數(shù)據(jù)庫管理員的配合。要數(shù)據(jù)庫管理員跟SQL優(yōu)化器進行配合,才能夠起到非常明顯的作用。

  不過,SQL語句的調(diào)整對于普通數(shù)據(jù)庫管理員來說,可能有一定的難度。除非受過專業(yè)的訓練,一般很難對SQL語句進行優(yōu)化。還好筆者受過這方面的專業(yè)訓練,對這方面有比較深的認識。如在SQL語句中避免使用直接量。任何一個包含有直接量的SQL語句都不太可能被再次使用。我們數(shù)據(jù)庫管理員要學會利用主機變量來代替直接量。不然,這些不可再用的查詢語句將使得程序緩存被不可再用的SQL語句填滿。這都是平時工作中的一些小習慣。

  總之,筆者認為,在數(shù)據(jù)庫性能調(diào)優(yōu)的時候,若能夠遵循如上的順序,必定可以讓我們少走冤枉路,不花無用功。其實,數(shù)據(jù)庫調(diào)優(yōu)并沒有我們想象的這么難。只要我們能夠掌握其中的訣竅,數(shù)據(jù)庫調(diào)優(yōu)將可以手到擒來。上文中講到的提高SQL Server數(shù)據(jù)庫性能大家要靈活運用,這些方法也不是什么靈丹妙藥,要根據(jù)具體情況去操作,希望這篇文章在供大家參考的時候能夠幫到大家。

it知識庫從外到內(nèi)提高SQL Server數(shù)據(jù)庫性能,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品久久7777777 | 青青青草国产 | 三级黄色在线观看 | 果冻传媒2021精品在线观看 | 嫩草成人影院 | 国产美女久久久久久久久久久 | 国产精品亚欧美一区二区三区 | 最近韩国HD免费观看国语 | 麻豆成人久久精品二区三区网站 | 国产精品视频第一区二区三区 | 国产亚洲精品久久久久久禁果TV | 亚洲精品无码国产爽快A片 亚洲精品无码成人AAA片 | 久久成人午夜电影mp4 | 久久精品99国产精品日本 | 国产毛片A级久久久不卡精品 | 儿子你得太大了慢点插 | 好色女博士 | 真实农村女人野外自拍照片 | 性色香蕉AV久久久天天网 | 国产精品www视频免费看 | 亚洲激情一区 | 国产呦精品一区二区三区网站 | 天天看学生视频 | 69夫妻交友网 | 狠狠色狠狠色综合日日92 | 美女露100%全身无遮挡 | 扒开女人下面使劲桶视频 | 娇小萝被两个黑人用半米长 | 人妻 中文无码 中出 | 久久伊人中文字幕有码 | 嗯好舒服嗯好大好猛好爽 | 暖暖 免费 高清 日本 在线 | 日本一卡二卡三卡四卡无卡免费播放 | 高hnp肉文 | 青娱乐国产精品视频 | 青柠电影高清在线观看 | 国产一及毛片 | 伦理片92伦理午夜 | 中文国产乱码在线人妻一区二区 | 免费观看高清黄页网址大全 | 国产亚洲精品久久久闺蜜 |