出版時間:2009-4 出版社:人民郵電出版社 作者:袁鵬飛 等編著 頁數(shù):330
Tag標(biāo)簽:無
前言
你會設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序嗎?即使是入行時間不長的程序員也多半會回答:“這有什么難的?!钡拇_,隨著各種程序設(shè)計(jì)語言的不斷發(fā)展和完善,開發(fā)數(shù)據(jù)庫應(yīng)用程序已經(jīng)變得非常簡單,只要掌握SQL語句和基本的數(shù)據(jù)庫管理方法,就可以通過ADO或ADO.NET等通用數(shù)據(jù)接口訪問后臺數(shù)據(jù)庫。但是不要以為這樣就可以成為一名優(yōu)秀的數(shù)據(jù)庫開發(fā)人員了,會畫畫的人很多,但稱得上大師級的人又有幾個?SQL語句和ADO只是打開數(shù)據(jù)庫編程這扇大門的鑰匙,如果只停留在這個層面上,就只能做一個初級水平的程序員,每天辛苦地進(jìn)行著重復(fù)的勞動?! ∧男﹩栴}是目前數(shù)據(jù)庫管理和開發(fā)過程中普遍存在而又不好解決的呢?從根本上來說,功能和性能是衡量數(shù)據(jù)庫應(yīng)用系統(tǒng)的兩大重要指標(biāo)。在大多數(shù)情況下,功能來源于對客戶需求的收集和整合。用戶對一個軟件產(chǎn)品的認(rèn)識首先取決于其操作界面是否友好,功能是否完備而且實(shí)用,是否滿足實(shí)際工作需要等。在數(shù)據(jù)庫應(yīng)用系統(tǒng)使用的初期,產(chǎn)品功能將直接影響客戶對產(chǎn)品的評價;但系統(tǒng)使用一段時間后,數(shù)據(jù)庫中的數(shù)據(jù)就會越來越多,此時性能問題就會凸現(xiàn)出來?!≡诤芏嗲闆r下,功能強(qiáng)大和高性能是矛盾的。要追求強(qiáng)大功能,就需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行各種不同情況下的查詢、加工和處理,這些都會影響系統(tǒng)性能。而沒有性能作為保證,產(chǎn)品的功能再強(qiáng)大也沒有意義。對于電信、銀行、公安、互聯(lián)網(wǎng)站等行業(yè)的大型應(yīng)用系統(tǒng),其后臺數(shù)據(jù)庫中通常會保存幾十萬、數(shù)百萬、數(shù)千萬,甚至更多的數(shù)據(jù)。例如公安部的人口身份信息數(shù)據(jù)庫,其中保存了全國近13億人口的身份數(shù)據(jù)。如果不能很好地對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)和優(yōu)化,對于上層應(yīng)用來說,將帶來災(zāi)難性的后果。試想,如果需要幾個小時的時間才能從13億數(shù)據(jù)中檢索出需要的記錄,那么這樣的數(shù)據(jù)庫應(yīng)用程序是沒有任何實(shí)用價值的?!纳厦娴姆治霾浑y看出,性能問題是影響數(shù)據(jù)庫應(yīng)用程序的重要因素。如果數(shù)據(jù)庫設(shè)計(jì)不合理,有可能產(chǎn)生大量的垃圾數(shù)據(jù),從而導(dǎo)致系統(tǒng)越來越慢。目前大多數(shù)數(shù)據(jù)庫用戶都只了解數(shù)據(jù)庫的基本應(yīng)用,比如管理數(shù)據(jù)庫、創(chuàng)建表和視圖、插入/修改/刪除數(shù)據(jù)、查詢數(shù)據(jù)等。而對于數(shù)據(jù)庫的工作原理、如何規(guī)劃和設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)、如何優(yōu)化數(shù)據(jù)庫的性能都知之甚少。這樣設(shè)計(jì)出來的數(shù)據(jù)庫應(yīng)用系統(tǒng),雖然從功能上可能滿足用戶的需要,但隨著數(shù)據(jù)量的增加,系統(tǒng)負(fù)擔(dān)會越來越重,甚至無法正常使用。
內(nèi)容概要
SQL Server是Microsoft公司在數(shù)據(jù)庫領(lǐng)域中非常重要的產(chǎn)品,是關(guān)系型數(shù)據(jù)庫的代表產(chǎn)品之一。很多大型應(yīng)用系統(tǒng)都采用SQL Server作為后臺數(shù)據(jù)庫。怎樣才能設(shè)計(jì)出性能高效的SQL Server數(shù)據(jù)庫應(yīng)用程序是很多軟件企業(yè)非常關(guān)注的問題。本書結(jié)合實(shí)例介紹如何對SQL Server數(shù)據(jù)庫進(jìn)行設(shè)計(jì)和性能優(yōu)化,解決目前數(shù)據(jù)庫應(yīng)用系統(tǒng)中存在的性能問題?! ”緯鴱臄?shù)據(jù)庫的基本工作原理入手,系統(tǒng)介紹了SQL Server數(shù)據(jù)庫體系結(jié)構(gòu)、索引優(yōu)化、SQL語句優(yōu)化、性能優(yōu)化工具、系統(tǒng)存儲過程、系統(tǒng)表、系統(tǒng)視圖、分區(qū)技術(shù)、死鎖處理等,最后幫助讀者設(shè)計(jì)實(shí)現(xiàn)兩個數(shù)據(jù)庫性能分析和監(jiān)測工具。 本書內(nèi)容豐富、注重實(shí)用,理論講解與案例應(yīng)用相結(jié)合,特別適合SQL Server數(shù)據(jù)庫管理員和應(yīng)用程序開發(fā)人員,以及對相關(guān)技術(shù)感興趣的讀者閱讀。
書籍目錄
第1章 數(shù)據(jù)庫設(shè)計(jì)與優(yōu)化原理——從頭說起 1.1 數(shù)據(jù)庫系統(tǒng)理論基礎(chǔ) 1.2 數(shù)據(jù)模型 1.3 與數(shù)據(jù)庫溝通的語言——SQL 第2章 SQL Server數(shù)據(jù)庫體系結(jié)構(gòu) 2.1 內(nèi)存管理與優(yōu)化 2.2 存儲引擎與優(yōu)化 2.3 處理器管理與優(yōu)化 第3章 信用卡消費(fèi)演示系統(tǒng)(Visual C#) 3.1 系統(tǒng)分析與設(shè)計(jì) 3.2 設(shè)計(jì)工程框架 3.3 實(shí)現(xiàn)模擬刷卡消費(fèi) 3.4 設(shè)計(jì)個人消費(fèi)記錄統(tǒng)計(jì)報表 第4章 索引——最直接的切入點(diǎn) 4.1 索引就好像是書的目錄 4.2 統(tǒng)計(jì)信息是對索引的補(bǔ)充 4.3 好的索引設(shè)計(jì)等于成功的一半 第5章 優(yōu)化SQL語句的效率 5.1 優(yōu)化SELECT語句 5.2 對大批量插入、修改和刪除數(shù)據(jù)操作的優(yōu)化 5.3 使用存儲過程優(yōu)化執(zhí)行速度 5.4 使用特殊的存儲過程——觸發(fā)器 5.5 視圖也需要優(yōu)化第6章 常用性能監(jiān)測和優(yōu)化工具 6.1 SQL Server Profiler——私家偵探 6.2 數(shù)據(jù)庫引擎優(yōu)化顧問——你身邊的專家 6.3 RML分析工具——秘密武器 第7章 使用語句監(jiān)測和優(yōu)化數(shù)據(jù)庫——從高手進(jìn)化到專家 7.1 使用系統(tǒng)存儲過程管理SQL Server Profiler 7.2 系統(tǒng)統(tǒng)計(jì)函數(shù) 7.3 SQL Server系統(tǒng)視圖 7.4 DBCC語句 第8章 大型數(shù)據(jù)庫的分區(qū)技術(shù) 8.1 分區(qū)的類型 8.2 分區(qū)表和分區(qū)索引 8.3 分區(qū)視圖 第9章 事務(wù)和鎖 9.1 事務(wù) 9.2 了解鎖定機(jī)制,防患于未然 9.3 死鎖其實(shí)并不可怕 第10章 開發(fā)MSSQLDBAnalyzer性能分析工具 第11章 開發(fā)MssqlMonitor服務(wù)器性能監(jiān)測工具
章節(jié)摘錄
第1章 數(shù)據(jù)庫設(shè)計(jì)與優(yōu)化原理——從頭說起 要對數(shù)據(jù)庫應(yīng)用系統(tǒng)進(jìn)行優(yōu)化,首先應(yīng)該了解數(shù)據(jù)庫的基本設(shè)計(jì)原理,就像醫(yī)生必須了解人體的構(gòu)造和工作機(jī)理一樣?! ?.1 數(shù)據(jù)庫系統(tǒng)理論基礎(chǔ) 本書將簡單介紹數(shù)據(jù)庫系統(tǒng)理論基礎(chǔ),包括數(shù)據(jù)庫系統(tǒng)的發(fā)展歷程和一些基本的概念?! ?.1.1 數(shù)據(jù)庫系統(tǒng)的發(fā)展歷程 數(shù)據(jù)存儲是計(jì)算機(jī)的基本功能之一。在計(jì)算機(jī)剛剛問世的時候,人們將程序存儲在紙帶上,使用卡片或紙帶閱讀器來讀取其中的數(shù)據(jù)。此時的數(shù)據(jù)存儲處于人工管理階段,計(jì)算機(jī)主要用于科學(xué)計(jì)算,需要存儲的數(shù)據(jù)量較??;沒有專門的數(shù)據(jù)庫管理軟件,完全靠用戶手動操作;數(shù)據(jù)無法實(shí)現(xiàn)共享,只能針對特定的程序使用?! ‰S著計(jì)算機(jī)技術(shù)的不斷發(fā)展,在20世紀(jì)60年代,計(jì)算機(jī)的存儲能力得到了進(jìn)一步的提升,計(jì)算機(jī)除了用于科學(xué)計(jì)算外,還用于管理。同時,產(chǎn)生了磁帶、磁鼓等外部存儲設(shè)備,有了專門管理數(shù)據(jù)的文件系統(tǒng)。此時的數(shù)據(jù)存儲處于文件系統(tǒng)階段,數(shù)據(jù)以文件的形式被保存在外部存儲介質(zhì)上,數(shù)據(jù)可以在不同的程序中被應(yīng)用,具有一定程度的獨(dú)立性。 隨著計(jì)算機(jī)的不斷普及,數(shù)據(jù)存儲量越來越大,數(shù)據(jù)之間的關(guān)系也越來越復(fù)雜,數(shù)據(jù)庫系統(tǒng)的概念已經(jīng)產(chǎn)生。最初的數(shù)據(jù)庫系統(tǒng)包括兩種主要的數(shù)據(jù)模型,即網(wǎng)狀模型(如Oralce的cODAsYL)和層次模型(如IBM的IMS)。20世紀(jì)70年代至今,關(guān)系型數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)(DBMS)產(chǎn)生并得到不斷發(fā)展。l970年,IBM的研究員E.F.Codd博士發(fā)表了《大型共享數(shù)據(jù)銀行的關(guān)系模型》一文,提出了關(guān)系模型的概念。后來他又發(fā)表多篇文章,奠定了關(guān)系數(shù)據(jù)庫的基礎(chǔ)。關(guān)系數(shù)據(jù)模型是以集合論中的關(guān)系概念為基礎(chǔ)發(fā)展起來的。關(guān)系模型中,無論是實(shí)體還是實(shí)體間的聯(lián)系均由單一的結(jié)構(gòu)類型——關(guān)系來表示。在實(shí)際的關(guān)系數(shù)據(jù)庫中,關(guān)系就是表,一個關(guān)系數(shù)據(jù)庫由若干個表組成。
媒體關(guān)注與評論
作為SQL Server的研發(fā)團(tuán)隊(duì)的成員,最后想和讀者簡單分享最新發(fā)布的SQL Server 2008在性能監(jiān)測及優(yōu)化方面的進(jìn)一步提升。新功能包括數(shù)據(jù)壓縮,備份壓縮,日志壓縮,資源管理器,T-SQL計(jì)劃引導(dǎo)支持(Plan guide support),等等。建議有興趣的讀者進(jìn)一步關(guān)注。 ——微軟中國研發(fā)集團(tuán)SQL Server研發(fā)中心 研發(fā)部門經(jīng)理 趙曉燕
編輯推薦
《SQL Server2005性能監(jiān)測與優(yōu)化》把關(guān)注的重心放在數(shù)據(jù)庫性能監(jiān)測和優(yōu)化方面,這是開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心所在,也是很多數(shù)據(jù)庫程序設(shè)計(jì)人員最為關(guān)注的問題。它需要豐富的經(jīng)驗(yàn)和準(zhǔn)確的判斷力,不可能照貓畫虎?!禨QL Server2005性能監(jiān)測與優(yōu)化》涵蓋了SQL Server性能監(jiān)測和分析的各個領(lǐng)域,結(jié)合了作者多年的實(shí)踐經(jīng)驗(yàn),能夠使讀者循序漸進(jìn)地提升自己的業(yè)務(wù)水平,從數(shù)據(jù)庫程序開發(fā)人員轉(zhuǎn)變?yōu)閿?shù)據(jù)庫優(yōu)化大師,從丑小鴨成長為白天鵝。 為了避免重理論而輕實(shí)踐的問題,書中以信用卡消費(fèi)管理系統(tǒng)為案例,利用各種方式對該系統(tǒng)進(jìn)行優(yōu)化,使讀者在了解理論的同時,直接從實(shí)踐中驗(yàn)證效果。圖書的最后還介紹了兩個數(shù)據(jù)庫性能分析和監(jiān)測工具,可以幫助讀者解決實(shí)際工作中遇到的性能問題。 飯菜幾乎人人都會做,但廚藝好到可以稱為廚師的比例極少,如果你參加過IT公司的招聘工作,就會發(fā)現(xiàn)自稱懂?dāng)?shù)據(jù)庫的大有人在,而真正掌握、精通數(shù)據(jù)庫的人卻比例極少。那么怎樣才能精通數(shù)據(jù)庫呢?實(shí)踐是其一,學(xué)習(xí)提高是其二。好比一個主婦,做數(shù)十年飯,實(shí)踐一輩子,未必是個好廚娘。做數(shù)據(jù)庫應(yīng)用的工程師也一樣,不僅要實(shí)踐,還要不斷學(xué)習(xí),抓住重點(diǎn),總結(jié)經(jīng)驗(yàn),業(yè)務(wù)水平才會有質(zhì)的提高?! 禨QL Server2005性能監(jiān)測與優(yōu)化》在編寫過程中兼顧SQL Server 2000和SQL Server 2005的工作原理和使用方法,大多數(shù)實(shí)例和優(yōu)化方法都適用于SQL Server 2000數(shù)據(jù)庫。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
SQL Server 2005性能監(jiān)測與優(yōu)化 PDF格式下載