SQL Server 2008 性能测试和调优
為應用程序設計數據庫,你要考慮你的所作所為將會對數據庫的性能有什么影響先;運行數據庫后,客戶不斷的抱怨‘應用程序(數據庫)跑的慢’,你又要優化數據庫和應用程序的性能。這就需要數據庫性能測試和調優方面的知識和經驗。掌握其中的奧妙,你就可以發現,分析和解決問題一條龍。
?
你可能找到了專用工具來測試壓力的條件下與數據庫的性能和指標等等,但本文只談Sql Server 2008自帶的數據庫性能調優工具。SQL Server的系統管理能力相當強的,也有一套用于性能監控、故障排除和調整的工具,具體你可以查閱相關資料。我們先來學習數據庫引擎調整顧問(Use Database Engine Tuning Advisor,DTA)。
?
SQL Server 2005 將之前版本的索引向導(Index Tuning Wizard)單獨擴增成一個應用程序,稱為“Database Engine Tuning Advisor”。協助用戶在尚未深入了解數據庫結構、索引、數據分布統計、索引視圖(Indexed View)和數據分區的運行原理之前,就能夠有效地創建這些對象以提升系統性能,而不至于誤用導致性能更差。
?
這個東西在SQL Server Management Studio(或Express Edition)里,其功能:
洞察數據庫的現有索引(indexes)和分區(partitions)結構,并通過創建適當的索引和分區結構來獲取與提高數據庫性能有關的建議。除了優化索引結構外,DTA 可以推薦新的物理數據結構,包括分區。DTA 還能夠對多臺服務器進行調整,并限制調整算法運行的時間。可以通過命令行以及圖形化工具使用 DTA。命令行工具能夠利用高級腳本選項。
?
“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指令是否使用過多的運算?
2. SQL指令是否有子查詢?
3. SQL的Where條件是否過度復雜?
4. Table是否有建立索引鍵?
5. Transaction是否包的太大,導致執行過長?
6. 資料量是否太大?
以上大致是我們在處理數據庫效能時很常見到的一些問題,但若需要一句SQL一句SQL去分析,如果我們的系統SQL指令有上萬句,該從何處去分析呢?Tuning Advisor這工具可以幫我們分析我們對數據庫運行的SQL指令,并給予索引的最佳化建議。
?
如何做呢?
詳細請參考:教學課程:Database Engine Tuning Advisor
?
轉載于:https://www.cnblogs.com/elock/archive/2009/12/23/1630877.html
總結
以上是生活随笔為你收集整理的SQL Server 2008 性能测试和调优的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细究fork()和vfork()
- 下一篇: Mysql计算出年纪