青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

聚集索引,非聚集索引,唯一索引,索引視圖

轉載自:http://blog.csdn.net/wuhuiran/archive/2008/01/23/2060842.aspx

聚集索引

聚集索引對于從表中檢索一定范圍的數據值非常有用。非聚集索引最適于檢索特定行,而聚集索引最適于檢索一定范圍的行。但是,由于每個表只允許使用一個聚集索引,因此按照這個簡單的邏輯來確定要創建哪種類型的索引并不總能成功。對于該問題有一個簡單的物理原因。對于聚集索引 B 樹結構的上部(非葉層),如果像對它們的非聚集索引部分那樣組織,則聚集索引的底層由表的實際 8 KB 數據頁組成。但這種情況有一個例外,那就是在視圖的基礎上創建聚集索引時。因為將在下面介紹索引視圖,所以我們將討論針對實際表創建的聚集索引。在針對表創建聚集索引時,會按與索引搜索鍵相同的順序讀取與該表關聯的數據、對這些數據進行排序,并會在物理上將它們存回數據庫。因為該表的數據只能按照一種順序保存到存儲器中,不會導致重復,所以符合一個聚集的限制。

聚集索引和性能

聚集索引有一些會影響性能的固有特征。

在使用聚集索引根據搜索鍵來檢索 SQL Server 數據時,不需要指針跳轉(會導致硬盤上的位置可能不按順序更改)來檢索關聯的數據頁。這是由于聚集索引的葉層實際上就是關聯的數據頁。

如前所述,葉層(當然也包括表或索引視圖的數據)在物理上會按照與搜索鍵相同的順序進行排序和存儲。因為聚集索引的葉層包含表的實際 8 KB 數據頁,所以整個表的行數據會按照由聚集索引確定的順序以物理方式排列在磁盤驅動器上。這就會在根據聚集索引的值從該表中提取大量行(至少大于 64 KB)時帶來潛在的 I/O 性能優勢,因為使用的是順序磁盤 I/O(除非該表上發生了頁拆分,這種情況將在題為“FILLFACTOR 和 PAD_INDEX”的一節中討論)。正因為如此,所以在檢索大量行時,一定要根據將用于執行范圍掃描的列來對表選取聚集索引。

表中與聚集索引相關聯的行必須按照與索引搜索鍵相同的順序排序和存儲,這一點具有以下意義:

  • 在您創建聚集索引時,表會被復制,表中的數據會被排序,然后,原來的表會被刪除。所以,數據庫中必須有足夠的空閑空間來存放數據的副本。
  • 在默認情況下,會在創建索引時對表中的數據進行排序。但是,如果數據已按正確順序排過序,則會自動跳過排序操作。這樣就可以顯著加快索引創建過程。
  • 將數據裝載到表中時的順序應盡可能與您計劃用于生成聚集索引的搜索鍵的順序相同。對于大表(例如那些通常會成為數據倉庫特征的表),該方法將大大加速索引創建過程,從而縮短您處理初始數據裝載所需的時間。只要表中的行仍保持未創建聚集索引時所排的順序,就可以在除去和重建聚集索引時可以使用該方法。任何行排序有誤,操作都會被取消,會出現相應的錯誤信息,而且不會創建索引。
  • 同樣,針對排過序的數據生成聚集索引時所需要的 I/O 也少得多,這是因為不必復制數據、對數據進行排序、將數據存回數據庫,然后刪除舊表數據,而是會將數據留在原來分配給它的擴展盤區中。索引擴展盤區只是添加到數據庫中來存儲頂層節點和中間節點。

注意 針對大表生成索引的首選方法是:先生成聚集索引,然后生成非聚集索引。這樣,就不會因為數據移動而需要重新生成非聚集索引。在除去所有索引時,首先會除去非聚集索引,最后除去聚集索引。這樣,就不需要重新生成索引。

非聚集索引

非聚集索引最適于根據特定的鍵值,從大型 SQL Server 表中提取少數幾個具有良好選擇性的行。如前所述,非聚集索引是由 8 KB 索引頁形成的二進制樹。索引頁二進制樹的底層或葉層包含組成該索引的列中的所有數據。在使用非聚集索引根據鍵值的匹配項從表中檢索信息時,會遍歷索引的 B 樹,直到在索引的葉層找到鍵的匹配項。如果需要表中不構成索引的列,指針就會跳轉。這種指針跳轉將有可能需要針對磁盤執行非順序 I/O 操作。它甚至可能需要從另一磁盤中讀取數據,尤其是在表及其伴隨的索引 B 樹很大時。如果多個指針指向同一個 8 KB 數據頁,對 I/O 性能的影響就會比較小,因為只需將該頁讀入數據緩存一次。如果 SQL 查詢涉及到用非聚集索引進行搜索,則對于對該查詢返回的每一行,至少需要一次指針跳轉。

注意 由于指針每次跳轉都會帶來與之相關的開銷,因此非聚集索引更適于處理從表中只返回一行或幾行的查詢。聚集索引更適于處理需要一系列行的查詢。

聚集索引和非聚集索引均可用于強制表內的唯一性,方法是在現有表上創建索引時指定 UNIQUE 關鍵字。確保表內唯一性的另一種方法是使用 UNIQUE 約束。如同唯一索引,UNIQUE 約束強制一組列中各值的唯一性。實際上,UNIQUE 約束的賦值自動創建基礎唯一索引,以利于強制該約束。由于唯一性可以作為 CREATE TABLE 語句的一部分來加以定義和記錄,因此,UNIQUE 約束通常優先于單獨唯一索引的創建。

 

索引視圖

索引視圖是為了實現快速訪問而將其結果持續存放于數據庫內并創建索引的視圖。與任何其他視圖一樣,索引視圖也依靠基表來提供視圖數據。此類相關性意味著,如果更改為索引視圖提供數據的基表,索引視圖可能變得無效。例如,重命名為視圖提供數據的列會使該視圖無效。為了避免此類問題,SQL Server 支持創建具有架構綁定的視圖。架構綁定禁止對表或列進行任何會使視圖無效的修改。使用視圖設計器創建的索引視圖自動獲得架構綁定,因為 SQL Server 要求該索引視圖具有架構綁定。架構綁定并不是說您不能修改視圖;它的意思是您不能按更改視圖結果集的方式來修改基礎表或視圖。另外,就像計算列上的索引一樣,索引視圖也必須有確定性、精確,且不得包含 text、ntext 或 image 等列。

索引視圖在基礎數據不經常更新的情況下效果最佳。維護索引視圖的成本可能高于維護表索引的成本。如果基礎數據更新頻繁,索引視圖數據的維護成本就可能超過使用索引視圖帶來的性能收益。

posted on 2011-03-31 17:04 楊粼波 閱讀(1020) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区=区| 欧美成年人视频网站欧美| 亚洲人成人一区二区在线观看| 欧美亚洲尤物久久| 国产一区二区三区在线播放免费观看 | 久久久av网站| 欧美亚洲视频| 激情久久一区| 亚洲大片在线| 欧美三级电影网| 欧美中文在线观看| 久久久久久97三级| 亚洲区欧美区| 制服丝袜激情欧洲亚洲| 国产亚洲毛片在线| 欧美不卡激情三级在线观看| 欧美国产第一页| 亚洲欧美日韩精品久久久| 午夜激情亚洲| 亚洲乱码国产乱码精品精天堂| 亚洲精品一级| 国内一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲精选中文字幕| 国产精品一区在线观看| 美女国内精品自产拍在线播放| 欧美成人精品一区| 亚洲综合清纯丝袜自拍| 久久成人精品电影| 日韩亚洲视频| 欧美一区二区视频97| 亚洲国产美国国产综合一区二区| 亚洲日本欧美在线| 国产欧美日韩亚洲| 亚洲成在人线av| 国产日韩亚洲欧美精品| 亚洲国产一区二区三区青草影视| 国产精品丝袜久久久久久app| 老司机精品久久| 国产精品视频免费观看| 欧美激情精品久久久久久变态| 国产精品三级久久久久久电影| 欧美激情一二区| 国内精品一区二区三区| 一区二区三区|亚洲午夜| 亚洲风情在线资源站| 亚洲欧美中文字幕| 正在播放欧美一区| 久久青草欧美一区二区三区| 性欧美长视频| 欧美视频福利| 亚洲精品久久久久| 1024日韩| 久久久噜久噜久久综合| 欧美中文字幕在线视频| 欧美性一区二区| 亚洲精品护士| 亚洲精品久久视频| 久久亚洲春色中文字幕久久久| 欧美一区二区高清| 国产精品另类一区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲国产综合91精品麻豆| 欧美在线免费视频| 久久久精彩视频| 国产亚洲精品7777| 亚洲欧美视频在线观看| 午夜视频在线观看一区二区| 国产精品初高中精品久久| 99re6热只有精品免费观看 | 韩国成人福利片在线播放| 亚洲欧美日韩综合一区| 亚洲欧美中文日韩在线| 国产精品久久久久99| 亚洲色图在线视频| 亚洲欧美日韩国产成人精品影院| 欧美日韩麻豆| 亚洲一区美女视频在线观看免费| 亚洲影视综合| 国产热re99久久6国产精品| 欧美一二三区精品| 久久噜噜噜精品国产亚洲综合| 国产自产精品| 欧美a一区二区| 亚洲人成小说网站色在线| 日韩一区二区电影网| 欧美午夜在线视频| 亚洲一二三级电影| 噜噜爱69成人精品| 亚洲精品欧洲精品| 欧美特黄一区| 欧美在线观看一区| 欧美激情第8页| 亚洲已满18点击进入久久| 国产日韩欧美电影在线观看| 久久久久久久激情视频| 亚洲激情网址| 欧美在线你懂的| 亚洲电影免费观看高清完整版| 欧美精品激情blacked18| 中文久久精品| 模特精品裸拍一区| 中日韩高清电影网| 精品粉嫩aⅴ一区二区三区四区| 麻豆成人综合网| 亚洲一级在线观看| 女人天堂亚洲aⅴ在线观看| 一本久道久久综合狠狠爱| 国产精品亚洲综合色区韩国| 美女91精品| 亚洲欧美精品在线观看| 亚洲福利国产| 久久久亚洲欧洲日产国码αv| 99视频+国产日韩欧美| 国产一区亚洲一区| 欧美日韩一区二区三区高清| 久久久久成人精品免费播放动漫| 日韩午夜中文字幕| 欧美国产日韩a欧美在线观看| 亚洲欧美日韩第一区| 亚洲精品日本| 精品69视频一区二区三区 | 午夜国产精品影院在线观看| 亚洲黄色免费| 蜜桃av综合| 久久激五月天综合精品| 亚洲视频电影图片偷拍一区| 亚洲国产欧美一区二区三区同亚洲 | 亚洲人成久久| 伊人久久大香线蕉综合热线| 国产精品国产成人国产三级| 欧美精品97| 欧美国产一区二区三区激情无套| 欧美一区二区三区在| 亚洲影院色在线观看免费| 亚洲巨乳在线| 亚洲精品免费一区二区三区| 欧美国产日本韩| 蜜桃av噜噜一区| 麻豆精品视频在线观看| 久久精品视频播放| 欧美一二区视频| 香蕉精品999视频一区二区| 亚洲性感激情| 亚洲一区二区三区高清不卡| 正在播放亚洲一区| 亚洲一区二区三区久久 | 激情六月婷婷综合| 国产一区二区三区久久| 国产欧美日韩亚洲一区二区三区| 国产精品美女www爽爽爽视频| 欧美日韩一二三区| 欧美精品国产精品日韩精品| 欧美激情视频在线播放| 欧美精品一级| 欧美日韩综合在线| 欧美午夜在线视频| 国产精品毛片a∨一区二区三区|国 | 国产视频一区三区| 国产综合亚洲精品一区二| 狠狠色狠狠色综合日日tαg| 韩国在线一区| 亚洲人体偷拍| 亚洲私人影吧| 欧美一区二区女人| 久久久成人网| 欧美激情一区二区三区全黄| 亚洲伦理一区| 欧美一区二区精品在线| 久久久之久亚州精品露出| 欧美国产日韩一二三区| 欧美视频日韩| 狠狠色丁香婷综合久久| 亚洲麻豆av| 久久精品91| 亚洲国产一区二区精品专区| 一区二区三区四区蜜桃| 久久精品视频在线播放| 欧美国产免费| 国产欧美亚洲视频| 亚洲经典在线看| 欧美亚洲视频在线观看| 欧美国产日韩视频| 亚洲天堂av高清| 久热精品视频在线| 欧美日韩国产综合新一区| 国产欧美精品国产国产专区| 亚洲韩国日本中文字幕| 亚洲一区二区三区午夜| 老牛国产精品一区的观看方式| 亚洲人成亚洲人成在线观看图片| 亚洲一区在线观看免费观看电影高清| 久久精品国产亚洲5555| 欧美视频在线观看一区二区| 精品1区2区| 欧美亚洲视频在线看网址| 亚洲国产视频a| 欧美在线视频日韩| 国产精品成人在线观看| 亚洲精品九九|