時(shí)間:2024-02-05 12:47作者:下載吧人氣:22
索引就是數(shù)據(jù)表中數(shù)據(jù)和相應(yīng)的存儲(chǔ)位置的列表,利用索引可以提高在表或視圖中的查找數(shù)據(jù)的速度。
數(shù)據(jù)庫(kù)中索引主要分為兩類:聚集索引和非聚集索引。SQL Server 2005還提供了唯一索引、索引視圖、全文索引、xml索引等等。聚集索引和非聚集索引是數(shù)據(jù)庫(kù)引擎中索引的基本類型,是理解其他類型索引的基礎(chǔ)。
聚集索引是值表中數(shù)據(jù)行的物理存儲(chǔ)順序和索引的存儲(chǔ)順序完全相同。聚集索引根據(jù)索引順序物理地重新排列了用戶插入到表中的數(shù)據(jù),因此,每個(gè)表只能創(chuàng)建一個(gè)聚集索引。聚集索引經(jīng)常創(chuàng)建在表中經(jīng)常被搜索到的列或按順序訪問的列上。在默認(rèn)情況下,主鍵約束自動(dòng)創(chuàng)建聚集索引。
非聚集索引不改變表中數(shù)據(jù)列的物理存儲(chǔ)位置,數(shù)據(jù)與索引分開存儲(chǔ),通過索引指向的地址與表中的數(shù)據(jù)發(fā)生關(guān)系。
非聚集索引沒有改變表中物理行的位置,索引可以在以下情況下使用非聚集索引:
一、如果某個(gè)字段的數(shù)據(jù)唯一性比較高
二、如果查詢所得到的數(shù)據(jù)量比較少
聚集索引和非聚集索引的區(qū)別:
聚集索引 |
非聚集索引 |
每個(gè)表只允許創(chuàng)建一個(gè)聚集索引 |
最多可以有249個(gè)非聚集索引 |
物理的重排表中的數(shù)據(jù)以符合索引約束 |
創(chuàng)建一個(gè)鍵值列表,鍵值指向數(shù)據(jù)在數(shù)據(jù)頁(yè)中的位置 |
用于經(jīng)常查找數(shù)據(jù)的列 |
用于從表中查找單個(gè)值的列 |
用于從表中查找單個(gè)值的列
除了以上索引,還有以下類型索引:
a、 唯一索引:如果希望索引鍵都不同,可以創(chuàng)建唯一索引。聚集索引和非聚集索引都可以是唯一索引。
b、 包含新列索引:索引列的最大數(shù)量是16個(gè),索引列的字節(jié)總數(shù)的最高值是900。如果當(dāng)多個(gè)列的字節(jié)總數(shù)大于900,切又想在這些劣種都包含索引是,可以使用包含性列索引
c、 視圖索引:提供視圖查詢效率,可以視圖的索引物理化,也就是說(shuō)將結(jié)果集永久存儲(chǔ)在索引中,可以創(chuàng)建視圖索引。
d、 XML索引:是與xml數(shù)據(jù)關(guān)聯(lián)的索引形式,是XML二進(jìn)制blob的已拆分持久表示形式
e、 全文索引:一種特殊類型的基于標(biāo)記的功能性功能,用于幫助在字符串中搜索賦值的詞
語(yǔ)法
create [unique] [clustered | noclustered]
網(wǎng)友評(píng)論