SQL語句總結(jié)----索引(持續(xù)更新)

索引

數(shù)據(jù)庫中的索引與書籍中的索引類似,在一本書中,利用索引可以快速查找所需信息,無須閱讀整本書。在數(shù)據(jù)庫中,索引使數(shù)據(jù)庫程序無須對整個表進行掃描,就可以在其中找到所需數(shù)據(jù)。書中的索引是一個詞語列表,其中注明了包含各個詞的頁碼。而數(shù)據(jù)庫中的索引是某個表中一列或者若干列值的集合和相應(yīng)的指向表中物理標識這些值的數(shù)據(jù)頁的邏輯指針清單。

索引的類型:
1. 聚集索引和非聚集索引
2. 主鍵索引和非主鍵索引
3. 唯一索引和非唯一索引
4. 單列索引和復(fù)合索引

1. 創(chuàng)建索引

CREATE [UNIQUE] [CLUSTERED| NONCLUSTERED ]
INDEX 索引名 
ON  數(shù)據(jù)表名|視圖名( 字段名 [ ASC | DESC ] [ ,...n ] ) 

參數(shù)說明:
UNIQUE:用于指定為表或視圖創(chuàng)建唯一索引,即不允許存在索引值相同的兩行。
CLUSTERED:用于指定創(chuàng)建的索引為聚集索引。
NONCLUSTERED:用于指定創(chuàng)建的索引為非聚集索引。
ASC|DESC:用于指定具體某個索引列的升序或降序排序方向。

(1) 為學(xué)生表的學(xué)號列創(chuàng)建非聚集索引IX1
create nonclustered index IX1 on 學(xué)生表(學(xué)號)
(2) 為老師表的工號列創(chuàng)建唯一性索引IX2
create unique index IX2 on 教師表(工號)
(3) 為開課表的開課號和工號創(chuàng)建唯一性非聚集索引IX3(開課號升序,工號降序)
create unique nonclustered index IX3 on 開課表(開課號 asc,工號 desc)
(4) 查看所創(chuàng)建的索引信息
use 教學(xué)管理 EXEC Sp_helpindex 學(xué)生表
use 教學(xué)管理 EXEC Sp_helpindex 教師表
use 教學(xué)管理 EXEC Sp_helpindex 開課表
(5) 為數(shù)據(jù)庫“教學(xué)管理”中的數(shù)據(jù)表關(guān)于“選課表.成績”降序建立非聚集索引IX_選課表_成績。
USE 教學(xué)管理
GO
IF EXISTS (SELECT name FROM sysindexes WHERE name=‘IX_選課表_成績’)
DROP INDEX 選課表.IX_選課表_成績
CREATE NONCLUSTERED INDEX IX_選課表_成績 ON 選課表(成績 DESC)

2. 刪除索引

DROP INDEX 表名.索引名[,…n] 

(1) 刪除所創(chuàng)建的索引
drop index 學(xué)生表.IX1,教師表.IX2,開課表.IX3

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容