ASP.NET開發實踐系列課程之資料庫調優

來源:互聯網
上載者:User
影響資料庫效能的主要因素
    伺服器硬體因素
        -伺服器數量
        -記憶體,CPU,磁碟
    網路環境
    資料庫設計
    資料查詢
伺服器硬體及網路的建議
    增加伺服器的數量,組件分布式平台
    增加cpu數量
    增加記憶體容量和頻率,開啟雙通道等
    硬碟更換為多塊高速硬碟
    網路選用千兆以上頻寬,有可能的話可選用光線
    網路線路最好專線專用,避免其他網路資料(BT)佔用
資料庫設計原則的建議
    規範命名
    三少原則(資料表,欄位,組合主鍵)
    控制欄位引用
    庫表的重複控制
    並發控制
    必要的討論
    資料小組的審核
    標頭檔的處理
資料庫設計工作的建議
    分類拆分資料量大的表(減少單表記錄數)
    適當考慮分布式分區
    合理的索引設計
    資料操作的最佳化
    資料庫參數的調整
    避免長事務(分解事務,減少負荷,提高效率)
    適當超前(考慮未來擴充)
    必要的工具
資料庫效能調優的原則
    儘可能排除資源瓶頸(cpu,ram,i/o,network)
    儘可能減少資料庫的i/o
    儘可能使用index seek,避免使用index scan
    減少阻塞,死結和不恰當的索引
    儘可能不用遊標
    儘可能不用觸發器而使用預存程序
資料查詢最佳化的方法
    減少資料庫訪問量和資料轉送量
    避免使用不相容的資料類型
    避免在where子句中的'='左側使用運算式
    避免使用!=或<>,IS NULL或IS NOT NULL,IN或NOT IN(這些沒法讓表示用索引,只能掃描表)
    避免在索引欄位中使用非字元打頭的搜尋,如'%Abc%'
    儘可能使用UNION方案替換或條件(也是影響最佳化查詢)
    盡量考慮where及order by子句間的順序按索引順序
    盡量使用數字型欄位
    盡量使用>=替換>
    合理使用exists和not exists(if exists(select * from News where Id=111) begin select

12 end)
    合理使用視圖(建議不要做視圖嵌套)
    合理演算法的使用
    必要時強制使用索引
    適當考慮物理分開儲存
    使用適合的工具
    執行計畫(如果大多數是索引尋找,證明最佳化得很好)
    最佳化一般使用SQL Server Profiler(一般只看Completed和Batch Completed的事件)
    主要看cpu,duration,reads,writes

SQL Server2005的幾個特性
    varchar(MAX)/nvarchar(MAX)/varbinary(MAX),分別替換已有的text,ntext,image
    XML類型
    計算欄位的持久化
    索引附加欄位
    索引檢視表,可對視圖建立索引,提高效率,但是該視圖不能有視圖引用
    2005支援動態指示top數量
    行號,注意最後面再跟order by的情況。ROW_NUMBER/RANK/DENSE_RANK/NTILE(select * from

(select ROW_NUMBER() over(order by Id desc) as rowid,* from News) where rowid>100 )
    臨時視圖with
    分區PARTITION

小結
    使用合適的方法,做合適的事兒
    熟能生巧
    凡事從多角度考慮一下

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.