SQL Server 2008 性能测试和调优
為應(yīng)用程序設(shè)計(jì)數(shù)據(jù)庫(kù),你要考慮你的所作所為將會(huì)對(duì)數(shù)據(jù)庫(kù)的性能有什么影響先;運(yùn)行數(shù)據(jù)庫(kù)后,客戶不斷的抱怨‘應(yīng)用程序(數(shù)據(jù)庫(kù))跑的慢’,你又要優(yōu)化數(shù)據(jù)庫(kù)和應(yīng)用程序的性能。這就需要數(shù)據(jù)庫(kù)性能測(cè)試和調(diào)優(yōu)方面的知識(shí)和經(jīng)驗(yàn)。掌握其中的奧妙,你就可以發(fā)現(xiàn),分析和解決問題一條龍。
?
你可能找到了專用工具來測(cè)試壓力的條件下與數(shù)據(jù)庫(kù)的性能和指標(biāo)等等,但本文只談Sql Server 2008自帶的數(shù)據(jù)庫(kù)性能調(diào)優(yōu)工具。SQL Server的系統(tǒng)管理能力相當(dāng)強(qiáng)的,也有一套用于性能監(jiān)控、故障排除和調(diào)整的工具,具體你可以查閱相關(guān)資料。我們先來學(xué)習(xí)數(shù)據(jù)庫(kù)引擎調(diào)整顧問(Use Database Engine Tuning Advisor,DTA)。
?
SQL Server 2005 將之前版本的索引向?qū)?#xff08;Index Tuning Wizard)單獨(dú)擴(kuò)增成一個(gè)應(yīng)用程序,稱為“Database Engine Tuning Advisor”。協(xié)助用戶在尚未深入了解數(shù)據(jù)庫(kù)結(jié)構(gòu)、索引、數(shù)據(jù)分布統(tǒng)計(jì)、索引視圖(Indexed View)和數(shù)據(jù)分區(qū)的運(yùn)行原理之前,就能夠有效地創(chuàng)建這些對(duì)象以提升系統(tǒng)性能,而不至于誤用導(dǎo)致性能更差。
?
這個(gè)東西在SQL Server Management Studio(或Express Edition)里,其功能:
洞察數(shù)據(jù)庫(kù)的現(xiàn)有索引(indexes)和分區(qū)(partitions)結(jié)構(gòu),并通過創(chuàng)建適當(dāng)?shù)乃饕头謪^(qū)結(jié)構(gòu)來獲取與提高數(shù)據(jù)庫(kù)性能有關(guān)的建議。除了優(yōu)化索引結(jié)構(gòu)外,DTA 可以推薦新的物理數(shù)據(jù)結(jié)構(gòu),包括分區(qū)。DTA 還能夠?qū)Χ嗯_(tái)服務(wù)器進(jìn)行調(diào)整,并限制調(diào)整算法運(yùn)行的時(shí)間。可以通過命令行以及圖形化工具使用 DTA。命令行工具能夠利用高級(jí)腳本選項(xiàng)。
?
“Database Engine Tuning Advisor is part of the overall system and allows you to automate the physical design of your databases. As mentioned, Database Engine Tuning Advisor is tightly connected to SQL Server Profiler, which can display information about several server activities in real time, or it can create filters to focus on particular events of a user, types of commands, or Transact-SQL statements.” --《Microsoft SQL Server 2008: A Beginner’s Guide》
?
如果上面太概念了,不好理解,那么看下面:
1. SQL指令是否使用過多的運(yùn)算?
2. SQL指令是否有子查詢?
3. SQL的Where條件是否過度復(fù)雜?
4. Table是否有建立索引鍵?
5. Transaction是否包的太大,導(dǎo)致執(zhí)行過長(zhǎng)?
6. 資料量是否太大?
以上大致是我們?cè)谔幚頂?shù)據(jù)庫(kù)效能時(shí)很常見到的一些問題,但若需要一句SQL一句SQL去分析,如果我們的系統(tǒng)SQL指令有上萬句,該從何處去分析呢?Tuning Advisor這工具可以幫我們分析我們對(duì)數(shù)據(jù)庫(kù)運(yùn)行的SQL指令,并給予索引的最佳化建議。
?
如何做呢?
詳細(xì)請(qǐng)參考:教學(xué)課程:Database Engine Tuning Advisor
?
轉(zhuǎn)載于:https://www.cnblogs.com/elock/archive/2009/12/23/1630877.html
總結(jié)
以上是生活随笔為你收集整理的SQL Server 2008 性能测试和调优的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细究fork()和vfork()
- 下一篇: Mysql计算出年纪