国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何提高SQL數(shù)據(jù)庫(kù)性能
 
第一層:網(wǎng)絡(luò)環(huán)境。

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

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

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

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

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

  第二層:服務(wù)器配置。

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

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

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

  如解決部署在同一個(gè)數(shù)據(jù)庫(kù)服務(wù)器上的資源爭(zhēng)用問題。雖然我們多次強(qiáng)調(diào),要為數(shù)據(jù)庫(kù)專門部署一個(gè)服務(wù)器。但是,不少企業(yè)為了降低信息化的成本,往往把數(shù)據(jù)庫(kù)服務(wù)器跟應(yīng)用服務(wù)器放在同一個(gè)服務(wù)器中。這就會(huì)導(dǎo)致不同服務(wù)器之間的資源爭(zhēng)用問題。如把文件服務(wù)器跟數(shù)據(jù)服務(wù)器部署在同一個(gè)服務(wù)器中,當(dāng)對(duì)文件服務(wù)器進(jìn)行備份時(shí),數(shù)據(jù)庫(kù)性能就會(huì)有明顯的下降。

所以,在數(shù)據(jù)庫(kù)性能發(fā)現(xiàn)周期性的變化時(shí),就要考慮是否因?yàn)榉?wù)器上不同應(yīng)用對(duì)資源的爭(zhēng)奪所造成的。

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

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

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

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

  第四層:數(shù)據(jù)庫(kù)對(duì)象。

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

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

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

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

  另外,要慎用存儲(chǔ)過程。雖然說存儲(chǔ)過程可以幫助大家實(shí)現(xiàn)很多需求。但是,在萬不得已的情況下,不要使用存儲(chǔ)過程。而利用前臺(tái)的應(yīng)用程序來實(shí)現(xiàn)需求。這主要是因?yàn)樵谕ǔG闆r下,前臺(tái)應(yīng)用程序的執(zhí)行效率往往比后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)過程要高的多。

  第五層:SQL 語句。

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

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

  不過,SQL語句的調(diào)整對(duì)于普通數(shù)據(jù)庫(kù)管理員來說,可能有一定的難度。除非受過專業(yè)的訓(xùn)練,一般很難對(duì)SQL語句進(jìn)行優(yōu)化。還好筆者受過這方面的專業(yè)訓(xùn)練,對(duì)這方面有比較深的認(rèn)識(shí)。如在SQL語句中避免使用直接量。任何一個(gè)包含有直接量的SQL語句都不太可能被再次使用。我們數(shù)據(jù)庫(kù)管理員要學(xué)會(huì)利用主機(jī)變量來代替直接量。

不然,這些不可再用的查詢語句將使得程序緩存被不可再用的SQL語句填滿。這都是平時(shí)工作中的一些小習(xí)慣。

  總之,筆者認(rèn)為,在數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的時(shí)候,若能夠遵循如上的順序,必定可以讓我們少走冤枉路,不花無用功。其實(shí),數(shù)據(jù)庫(kù)調(diào)優(yōu)并沒有我們想象的這么難。只要我們能夠掌握其中的訣竅,數(shù)據(jù)庫(kù)調(diào)優(yōu)將可以手到擒來。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
優(yōu)化SQL的另一種思維
SQL Server視圖管理中的四個(gè)限制條件
SQL Server2005管理員必備指南
第一章 Oracle介紹
50種方法優(yōu)化SQL Server數(shù)據(jù)庫(kù)查詢
數(shù)據(jù)庫(kù)安全性全面介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服