国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

影響SQL server性能的關鍵三個方面
2006-04-04   網絡

一、邏輯數據庫和表的設計數據庫的邏輯設計、包括表與表之間的關系是優化關系型數據庫性能的核心。一個好的邏輯數據庫設計可以為優化數據庫和應用程序打下良好的基礎。

  標準化的數據庫邏輯設計包括用多的、有相互關系的窄表來代替很多列的長數據表。下面是一些使用標準化表的一些好處。

  A:由于表窄,因此可以使排序和建立索引更為迅速

  B:由于多表,所以多鏃的索引成為可能

  C:更窄更緊湊的索引

  D:每個表中可以有少一些的索引,因此可以提高insert update delete等的速度,因為這些操作在索引多的情況下會對系統性能產生很大的影響

  E:更少的空值和更少的多余值,增加了數據庫的緊湊性

  由于標準化,所以會增加了在獲取數據時引用表的數目和其間的連接關系的復雜性。太多的表和復雜的連接關系會降低服務器的性能,因此在這兩者之間需要綜合考慮。定義具有相關關系的主鍵和外來鍵時應該注意的事項主要是:用于連接多表的主鍵和參考的鍵要有相同的數據類型。

  二、索引的設計

  A:盡量避免表掃描檢查你的查詢語句的where子句,因為這是優化器重要關注的地方。包含在where里面的每一列(column)都是可能的侯選索引,為能達到最優的性能,考慮在下面給出的例子:對于在where子句中給出了column1這個列。下面的兩個條件可以提高索引的優化查詢性能!第一:在表中的column1列上有一個單索引第二:在表中有多索引,但是column1是第一個索引的列避免定義多索引而column1是第二個或后面的索引,這樣的索引不能優化服務器性能例如:下面的例子用了pubs數據庫。

SELECT au_id, au_lname, au_fname FROM authors

  WHERE au_lname = 'White'按下面幾個列上建立的索引將會是對優化器有用的索引

  au_lname

  au_lname, au_fname而在下面幾個列上建立的索引將不會對優化器起到好的作用

  au_address

  au_fname, au_lname考慮使用窄的索引在一個或兩個列上,窄索引比多索引和復合索引更能有效。用窄的索引,在每一頁上將會有更多的行和更少的索引級別(相對與多索引和復合索引而言),這將推進系統性能。對于多列索引,SQL Server維持一個在所有列的索引上的密度統計(用于聯合)和在第一個索引上的
histogram(柱狀圖)統計。根據統計結果,如果在復合索引上的第一個索引很少被選擇使用,那么優化器對很多查詢請求將不會使用索引。有用的索引會提高select語句的性能,包括insert,uodate,delete。但是,由于改變一個表的內容,將會影響索引。每一個insert,update,delete語句將會使性能下降一些。實驗表明,不要在一個單表上用大量的索引,不要在共享的列上(指在多表中用了參考約束)使用重疊的索引。在某一列上檢查唯一的數據的個數,比較它與表中數據的行數做一個比較。這就是數據的選擇性,這比較結果將會幫助你決定是否將某一列作為侯選的索引列,如果需要,建哪一種索引。你可以用下面的查詢語句返回某一列的不同值的數目。

  select count(distinct cloumn_name) from table_name假設column_name是一個10000行的表,則看column_name返回值來決定是否應該使用,及應該使用什么索引。

Unique values Index
5000 Nonclustered index
20 Clustered index
3 No index

  鏃索引和非鏃索引的選擇

  <1:>鏃索引是行的物理順序和索引的順序是一致的。頁級,低層等索引的各個級別上都包含實際的數據頁。一個表只能是有一個鏃索引。由于update,delete語句要求相對多一些的讀操作,因此鏃索引常常能加速這樣的操作。在至少有一個索引的表中,你應該有一個鏃索引。在下面的幾個情況下,你可以考慮用鏃索引:例如:某列包括的不同值的個數是有限的(但是不是極少的)顧客表的州名列有50個左右的不同州名的縮寫值,可以使用鏃索引。例如:對返回一定范圍內值的列可以使用鏃索引,比如用between,>,>=,<,<=等等來對列進行操作的列上。
 select * from sales where ord_date between '5/1/93' and '6/1/93'例如:對查詢時返回大量結果的列可以使用鏃索引。

  SELECT * FROM phonebook WHERE last_name = 'Smith'

  當有大量的行正在被插入表中時,要避免在本表一個自然增長(例如,identity列)的列上建立鏃索引。如果你建立了鏃的索引,那么insert的性能就會大大降低。因為每一個插入的行必須到表的最后,表的最后一個數據頁。當一個數據正在被插入(這時這個數據頁是被鎖定的),所有的其他插入行必須等待直到當前的插入已經結束。一個索引的葉級頁中包括實際的數據頁,并且在硬盤上的數據頁的次序是跟鏃索引的邏輯次序一樣的。

  <2:>一個非鏃的索引就是行的物理次序與索引的次序是不同的。一個非鏃索引的葉級包含了指向行數據頁的指針。在一個表中可以有多個非鏃索引,你可以在以下幾個情況下考慮使用非鏃索引。在有很多不同值的列上可以考慮使用非鏃索引例如:一個part_id列在一個part表中select * from employee where emp_id = 'pcm9809f'查詢語句中用order by子句的列上可以考慮使用鏃索引

  三、查詢語句的設計

  SQL Server優化器通過分析查詢語句,自動對查詢進行優化并決定最有效的執行方案。優化器分析查詢語句來決定那個子句可以被優化,并針對可以被優化查詢的子句來選擇有用的索引。最后優化器比較所有可能的執行方案并選擇最有效的一個方案出來。在執行一個查詢時,用一個where子句來限制必須處理的行數,除非完全需要,否則應該避免在一個表中無限制地讀并處理所有的行。例如下面的例子,select qty from sales where stor_id=7131是很有效的比下面這個無限制的查詢select qty from sales避免給客戶的最后數據選擇返回大量的結果集。允許SQL Server運行滿足它目的的函數限制結果集的大小是更有效的。這能減少網絡I/O并能提高多用戶的相關并發時的應用程序性能。因為優化器關注的焦點就是where子句的查詢,以利用有用的索引。在表中的每一個索引都可能成為包括在where子句中的侯選索引。為了最好的性能可以遵照下面的用于一個給定列column1的索引。第一:在表中的column1列上有一個單索引第二:在表中有多索引,但是column1是第一個索引的列不要在where子句中使用沒有column1列索引的查詢語句,并避免在where子句用一個多索引的非第一個索引的索引。這時多索引是沒有用的。

For example, given a multicolumn index on the au_lname, au_fname columns of the authors table in
the pubs database,下面這個query語句利用了au_lname上的索引
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_lname = 'White'
AND au_fname = 'Johnson'
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_lname = 'White'下面這個查詢沒有利用索引,因為他使用了多索引的非第一個索引的索引
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_fname = 'Johnson'

熱詞搜索:

上一篇:SQL Server索引的使用和優化
下一篇:子網掩碼精解 工程實踐

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
精品在线免费视频| 精品久久久久久久久久久久久久久久久 | 欧美日韩精品欧美日韩精品 | 亚洲欧美另类在线| 国产三级欧美三级| 精品少妇一区二区三区免费观看| 精品视频免费在线| 色爱区综合激月婷婷| 一本一本大道香蕉久在线精品 | 日韩精品一区二区在线观看| 欧美一级免费观看| 欧美大片拔萝卜| 2021中文字幕一区亚洲| 天天操天天综合网| 丝袜亚洲另类丝袜在线| 人人精品人人爱| 国内精品久久久久影院一蜜桃| 狠狠色丁香婷婷综合久久片| 国产一二精品视频| 成人一二三区视频| 91丨九色porny丨蝌蚪| 91麻豆国产自产在线观看| 91精彩视频在线| 91精品国产91综合久久蜜臀| 久久综合色之久久综合| 国产精品无圣光一区二区| 亚洲乱码国产乱码精品精小说 | 国产激情一区二区三区桃花岛亚洲| 美女视频网站黄色亚洲| 国产精品一区二区久久不卡| 成人激情综合网站| 欧美丝袜自拍制服另类| 日韩一级片网址| 国产精品国产三级国产aⅴ原创| 亚洲欧美视频在线观看视频| 亚洲va韩国va欧美va精品| 久久99最新地址| 不卡av在线免费观看| 欧美色图在线观看| 久久综合狠狠综合久久综合88| 国产精品伦理在线| 日韩精品免费专区| 福利一区二区在线观看| 欧美嫩在线观看| 中文字幕不卡在线播放| 亚洲18色成人| 成人免费的视频| 欧美一级夜夜爽| 一区二区三区久久| 国产在线精品一区二区夜色 | 床上的激情91.| 欧美高清视频一二三区 | 久久精品国产999大香线蕉| 成人av网站在线观看免费| 538prom精品视频线放| 国产日产欧美一区二区三区| 亚洲成人tv网| 成人黄色免费短视频| 欧美日韩免费视频| 日韩欧美中文字幕精品| 亚洲欧美色一区| www.亚洲色图| 欧美四级电影在线观看| 国产成人综合网站| 欧美日韩中字一区| 亚洲日本欧美天堂| 国产精品99久久久久久宅男| 日韩一区二区免费在线电影| 亚洲黄色录像片| 99精品欧美一区二区三区综合在线| 日韩精品一区二区三区视频在线观看| 亚洲欧美一区二区三区久本道91| 国产一区在线视频| 日韩片之四级片| 午夜精品一区二区三区免费视频| 色哟哟一区二区在线观看| 国产欧美精品一区| 国产精品系列在线观看| 久久久三级国产网站| 日韩电影一区二区三区四区| 91福利在线观看| 亚洲综合在线观看视频| 色综合久久99| 亚洲综合一二区| 欧美日韩国产成人在线91| 亚洲国产欧美一区二区三区丁香婷| 91亚洲精品久久久蜜桃| 亚洲精品国产第一综合99久久| 91老师片黄在线观看| 亚洲老司机在线| 欧美视频一区在线观看| 天天综合色天天| 日韩免费一区二区三区在线播放| 麻豆国产精品视频| 久久综合久久综合久久| 豆国产96在线|亚洲| 亚洲色图一区二区| 欧美丝袜丝交足nylons| 蜜臀av一区二区在线观看| 精品理论电影在线| 国产成人在线视频网站| 18成人在线观看| 欧洲精品一区二区三区在线观看| 亚洲v日本v欧美v久久精品| 欧美一区二区精品在线| 国产乱码精品一区二区三| 中文字幕一区三区| 欧美日本乱大交xxxxx| 秋霞av亚洲一区二区三| 久久中文娱乐网| 91天堂素人约啪| 日日摸夜夜添夜夜添国产精品| 日韩精品中文字幕在线不卡尤物| 国产裸体歌舞团一区二区| 中文字幕一区二区三区视频| 91国偷自产一区二区三区成为亚洲经典| 亚洲一二三级电影| 日韩欧美国产麻豆| 精品国产乱码久久久久久蜜臀 | 日本强好片久久久久久aaa| 国产毛片精品一区| 国产精品视频一二| 欧美人动与zoxxxx乱| 国产一区二区不卡在线 | 久久成人久久爱| 亚洲欧美色一区| 久久久久久久久岛国免费| 色婷婷国产精品| 精品一区二区三区香蕉蜜桃| 亚洲欧洲精品成人久久奇米网| 欧美另类videos死尸| 成人午夜电影网站| 天天射综合影视| 椎名由奈av一区二区三区| 日韩一区二区精品| 欧美性猛交xxxx黑人交| 国产成人激情av| 麻豆91精品91久久久的内涵| 亚洲一区影音先锋| 国产精品三级av| 久久久噜噜噜久噜久久综合| 欧美日韩免费视频| 一本大道久久精品懂色aⅴ| 国产精品一区二区果冻传媒| 人禽交欧美网站| 香蕉久久夜色精品国产使用方法 | 亚洲国产成人自拍| 日韩欧美一区二区久久婷婷| 91亚洲国产成人精品一区二三 | 欧美一区二区不卡视频| 91激情五月电影| voyeur盗摄精品| 国产福利一区二区三区视频| 看片网站欧美日韩| 首页欧美精品中文字幕| 亚洲黄色录像片| 一区二区三区毛片| 亚洲婷婷在线视频| 国产精品久线在线观看| 国产日韩欧美在线一区| 欧美精品一区二区精品网| 91麻豆精品久久久久蜜臀| 欧美午夜片在线观看| 色国产综合视频| 日本韩国一区二区三区| av亚洲精华国产精华| 9i在线看片成人免费| 9人人澡人人爽人人精品| 99久久婷婷国产综合精品| 成人短视频下载| 99久久国产综合精品女不卡| 色综合中文字幕| 欧美性xxxxxxxx| 538在线一区二区精品国产| 欧美一级日韩免费不卡| 中文文精品字幕一区二区| jiyouzz国产精品久久| 99久久亚洲一区二区三区青草| 99久久久无码国产精品| av日韩在线网站| 菠萝蜜视频在线观看一区| 91在线国产观看| 天天色 色综合| 久久精品国产99久久6| 国产馆精品极品| 99re热视频精品| 欧美午夜一区二区| 日韩精品一区二区三区中文精品| 久久久五月婷婷| 日韩高清欧美激情| 91.xcao| 日韩美一区二区三区| 久久久久久久免费视频了| 中文字幕中文字幕一区| 一区二区三区久久久| 久久国产剧场电影| 北条麻妃国产九九精品视频| 欧美色大人视频| 久久蜜臀中文字幕| 亚洲免费观看高清在线观看|