2015-06-18 分類: 網(wǎng)站設計
數(shù)據(jù)庫優(yōu)化是一門復雜的學問。數(shù)據(jù)庫引擎優(yōu)化顧問用于分析在一個或多個數(shù)據(jù)庫中運行的工作負荷的性能效果。分析數(shù)據(jù)庫的工作負荷效果后,數(shù)據(jù)庫引擎優(yōu)化顧問會提供在數(shù)據(jù)庫中添加、刪除或修改物理設計結構的建議。這些物理性能結構包括聚集索引、非聚集索引、索引視圖和分區(qū)。實現(xiàn)這些結構之后,數(shù)據(jù)庫引擎優(yōu)化顧問使查詢處置器能夠用最短的時間執(zhí)行工作負荷任務。那么網(wǎng)站建設如何優(yōu)化數(shù)據(jù)庫呢?成都網(wǎng)站建設告訴你
1 一定要在主鍵上建聚集索引嗎
但也有一些例外的情況我需要把聚集索引建在其他列上,通常情況下sqlserver會自動給主鍵加上聚集索引。例如我用到表分區(qū),而分區(qū)的字段不是主鍵,這時候就需要將聚集索引建在分區(qū)的列上。另外如果查詢時根據(jù)主鍵查詢較少,而根據(jù)其他列的查詢較頻繁,則也可以考慮將聚集索引建在非主鍵上。單需要注意的聚集索引的列必須是不易變的列,如果聚集索引變了一會引起聚集索引內(nèi)的記錄的搬遷,造成頁page分離與碎片;二會引起每一個非聚 集索引被修改,以便于所有相關的非聚集索引的行的索引鍵的值被糾正。這既浪費時間和空間,也導致需要整理的碎片,增加了不必要的開銷。
2 對什么列建索引
除了這個索引之外還需要在哪些列上建索引呢?這個問題只能具體情況具體分析,數(shù)據(jù)庫默認情況下會對主鍵建聚集索引。要看需要優(yōu)化的sql語句(通常是查詢次數(shù)多,查詢相應想要高的語句)根據(jù)什么列的條件進行查詢。
3 索引的個數(shù)問題
除非你完全不在乎修改數(shù)據(jù)的效率。另外sqlserver自身會對索引的數(shù)量和索引的數(shù)據(jù)長度有限制,索引提高查詢效率是以降低更新、拔出、刪除的速度為代價的每當索引列發(fā)生變化時都需要對索引數(shù)據(jù)進行相應的調(diào)整。所以一個表上不可以建太多的索引。
4 復合索引要注意列順序
A列的葉節(jié)點上才會開始根據(jù)B列建二叉樹。所以包括兩個列的索引就需要根據(jù)查詢條件所在列來決定兩個列在索引中的順序。索引在數(shù)據(jù)庫中是以二叉樹的形式存儲的包括A,B兩個列的索引會首先根據(jù)A列建二叉樹。
5 必要時重建索引
網(wǎng)站建設運行Sqlserver一段時間之后就會形成一些索引碎片,這時候就需要重建索引了,有時候重建索引可以起到意想不到效果。
網(wǎng)站名稱:網(wǎng)站建設之數(shù)據(jù)庫如何優(yōu)化
當前地址:http://muchs.cn/news35/31385.html
網(wǎng)站建設、網(wǎng)絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡營銷seo公司;服務項目有網(wǎng)站設計等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容