1. 程式人生 > >第四章 索引和檢視 總結

第四章 索引和檢視 總結

第四章 索引和檢視

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