第四章 索引和檢視 總結
第四章 索引和檢視
1.索引
索引主要分為聚類索引和非聚類索引
聚類索引:表中資料行的物理儲存順序與索引順序完全相同,每個表只能有一個聚類索引,物理的重拍表中的資料以符合索引約束,用於經常查詢的列。
非聚類索引:不改變表中資料行的物理儲存位置,資料與索引分開儲存,通過索引指向的地址與表中的資料發生關係,每個表最多可以有249個非聚類索引,建立一個鍵值列表,鍵值指向資料在資料頁中的位置,用於從中查詢單個值的列。
索引的建立:
CREATE [UNIQUE](唯一索引) [CLUSTERED/NONCLUSTERED](聚類索引或非聚類索引)
INDEX index_name(索引名稱)
ON table_name(column_name...)
[WITH FILLFACTOR=x](填充因子)
適合建立索引的列:當表中的某一列被頻繁的用於資料搜尋時,或者該列用於對資料進行排序時可以建立成為索引
不適合建立索引的列:如果列中僅有幾個不同的值,或者表中僅包含幾行值,則不推薦為其建立索引
2.檢視
檢視是一張虛擬表,它表示一張表的部分資料或多張表的綜合資料,其結構和資料是建立在對錶的查詢基礎上,檢視中並不存放資料,而是存放在檢視所引用的原始表中,同一張原始表根據不同使用者的不同需求可以建立不同的檢視。
檢視的建立:
CREATE VIEW view_name[(列名...)]
[with encryption](給檢視加密)
AS
<SELECT語句>
例:
CREATE VIEW view_stuInfo_stuMarks(學號,姓名,成績)
WITH encryption
AS SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks ON stuInfo.StuID=stuMarks.StuID GO