最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第六章SQLServer 2012 索引

2019-10-14 23:52 作者:游戲理想國  | 我要投稿


數(shù)據(jù)庫的索引類似于書籍的索引。在書籍中,索引允許用戶不必翻閱完整個書就能迅速地找到所需要的信息。在數(shù)據(jù)庫中,索引也允許數(shù)據(jù)庫程序迅速地找到表中的數(shù)據(jù),而不必掃描整個數(shù)據(jù)庫。


一、索引的優(yōu)點(diǎn)

1.創(chuàng)建唯一性索引,保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性

2.大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因

3.加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。

4.在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。

二、索引的缺點(diǎn)

1.創(chuàng)建索引和維護(hù)索引要耗費(fèi)時間,這種時間隨著數(shù)據(jù)量的增加而增加

2.索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間。

3.當(dāng)對表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時候,索引也要動態(tài)的維護(hù),降低了數(shù)據(jù)的維護(hù)速度。

三、索引的分類

1、聚集索引

聚集索引是指數(shù)據(jù)行在表中的物理存儲順序。當(dāng)為一個表的某列創(chuàng)建聚集索引時,表中的數(shù)據(jù)會按該列進(jìn)行重新排序,然后再存儲到磁盤上。因此,每個表只能創(chuàng)建一個聚集索引。


2、非聚集索引

非聚集索引與課本中的索引類似。數(shù)據(jù)存儲在一個地方,索引存儲在另一個地方,索引帶有指針指向數(shù)據(jù)的存儲位置。

四、索引的操作

(1)、使用對象資源管器創(chuàng)建索引

在“對象資源管理器“窗口中,選擇要建立索引的表,然后展開表結(jié)點(diǎn),右擊“索引”結(jié)點(diǎn),在彈出的菜單中選擇“新建索引”。

(2)、使用CREATEINDEX 語句在查詢分析器中創(chuàng)建索引

CREATE[UNIQUE][CLUSTERED][NONCLUSTERED] INDEX 索引名

ON表名(列名)


[UNIQUE] ? ? [CLUSTERED] ? ? ?[NONCLUSTERED]

唯一索引 ? ? ? ? ? ?聚集索引 ? ? ? ? ? ? ? 非聚集索引

SQLServer 2005 索引

五、查看索引信息

在對表創(chuàng)建了索引后,可以根據(jù)實(shí)際情況,查看表中索引信息。在“對象資源管理器”窗口中,或系統(tǒng)存儲過程sp_helpindex 都可以查看到索引信息。


1、使用對象資源管器查看索引信息

右擊表中已建的索引,選擇屬性,打開“索引屬性”。


2、使用系統(tǒng)存儲過程查看索引信息

sp_helpindextable_name 查看索引信息

六、刪除索引

使用索引雖然可以提高查詢效率,但是對一個表來說,如果索引過多,不但耗費(fèi)磁盤空間,而且在修改表中記錄時會增加服務(wù)器維護(hù)索引的時間。當(dāng)不再需要某個索引的時候,應(yīng)該把它從數(shù)據(jù)庫中刪除,這樣,既可以提高服務(wù)器效,又可以回收被索引占用的存儲空間。


1、使用對象資源管理器刪除索引

展開“表”結(jié)點(diǎn),再展開“索引”結(jié)點(diǎn),右擊要刪除的索引。


2、便用SQL語句刪除索引

DROPINDEX 表名.索引名

七、談?wù)勎ㄒ患s束和唯一索引

最近在看數(shù)據(jù)庫相關(guān)知識,感覺唯一約束和唯一索引好像有點(diǎn)類似,于是研究了一番,于是就有了這篇文章。

約束?全稱完整性約束,它是關(guān)系數(shù)據(jù)庫中的對象,用來存放插入到一個表中一列數(shù)據(jù)的規(guī)則,用來確保數(shù)據(jù)的準(zhǔn)確性和一致性。

索引?數(shù)據(jù)庫中用的最頻繁的操作是數(shù)據(jù)查詢,索引就是為了加速表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的數(shù)據(jù)結(jié)構(gòu)??梢园阉饕惐瘸蓵哪夸?,有目錄的肯定比沒有目錄的書,更方便查找。

唯一約束?保證在一個字段或者一組字段里的數(shù)據(jù)都與表中其它行的對應(yīng)數(shù)據(jù)不同。和主鍵約束不同,唯一約束允許為NULL,只是只能有一行。

唯一索引?不允許具有索引值相同的行,從而禁止重復(fù)的索引或鍵值。

唯一約束和唯一索引都是為了保證表中被限制的字段不允許有重復(fù)的值,看起來功能是一樣的,那為什么要設(shè)計(jì)這樣兩種一樣的功能呢?

探究

唯一鍵鍵約束只是作為一種獨(dú)特的約束(如主鍵約束,唯一鍵約束,check約束,外鍵約束的一種),以約束的形式管理.但是同時又自動創(chuàng)建了唯一非聚集索引,也就有了索引的性能和部分功能.實(shí)際上唯一鍵約束是用唯一索引來約束的。


唯一索引就是一種索引,它對某字段進(jìn)行唯一性檢查,同時可以設(shè)置各種參數(shù),非常靈活。


那么我們在創(chuàng)建列的唯一性時,到底使用哪一種較好呢?(個人理解)


唯一鍵約束在表中是必定存在的約束的,唯一鍵約束的索引存在于一個分區(qū)中,并且不會像索引那樣可以更改。因?yàn)樗饕梢噪S時改動(當(dāng)然也不會經(jīng)常改動),索引個人建議還是用唯一索引更靈活。管理約束還得管理索引,而管理索引,一個就好了。但是對于一些高可用性,也要注意索引是否在其他地方也存在。


第六章SQLServer 2012 索引的評論 (共 條)

分享到微博請遵守國家法律
北川| 习水县| 洪雅县| 泸水县| 阳城县| 蒙城县| 增城市| 金乡县| 治县。| 信丰县| 荣成市| 新源县| 冀州市| 望谟县| 丹寨县| 九龙城区| 正蓝旗| 商洛市| 格尔木市| 石家庄市| 道孚县| 陆河县| 栾城县| 沅陵县| 右玉县| 大洼县| 华亭县| 宜州市| 女性| 齐河县| 嘉祥县| 卢氏县| 改则县| 垦利县| 饶阳县| 育儿| 卢湾区| 崇信县| 普定县| 抚松县| 余江县|