1. 程式人生 > >操作索引和檢視

操作索引和檢視

我們在做學生資訊管理系統的時候都有見過檢視和索引,但當時我們只是對它們停留在了一個表層的認識,並不知道他們具體還可以用來做什麼。通過看資料庫視訊我對它們有了進一步的看法。

檢視:選擇性的檢視具體的值或一些列,並儲存成新的物件。
1.建立檢視
語法格式:

 create view view_name(view_column_name)
As query_expression
[with check option]

例如這裡寫圖片描述
2.修改和刪除檢視
修改檢視:

Alter view<view _name>[column name list>]
As 
<select statement>
[with check option]

這裡寫圖片描述每次我看視訊中都是最後輸入的SELECT部分,所以大家在編輯的時候應該注意先對要查詢的資訊進行編輯
刪除檢視:

dropview v_studentinfo

通過檢視修改資料:
注意事項
select列表含有distinct
Select 列表含有表示式
在from子句中引用多個表,如計算列、函式等。
引用不可更新檢視
Group by 或having子句
例:在檢視中插入一條資料
這裡寫圖片描述

索引
單獨的物理的資料庫結構,儲存具體資料的位置。一旦建立完成,將由資料庫自動管理和維護。

優點:

保證資料記錄的唯一性。
加快資料檢索速度
加快表與表之間的連線速度
在使用order by 和group by子句檢索時可以減少查詢分組和排序的時間。
索引還可以分為聚集索引和非聚集索引


聚集索引確定表中資料的物理順序。類似於電話簿,按姓氏排序。一個表只能包含一個聚集索引,但可包含多個列。對經常要搜尋範圍值的列特別有效。
非聚集索引資料儲存在一個位置,索引儲存在另一個位置。
兩者區別:1、資料行不按非聚集索引建的順序排序和儲存
2、非聚集索引的葉層不包含資料頁,相反,葉節點包含索引行

**建立索引:**一個表可以有一個聚集索引和多個非聚集索引。建立多個索引的時候使用非聚集索引,可以對當前的列進行精確查詢的時候速度非常快,但是同時降低了插入、修改、刪除的操作效率。所以建立的時候需要考慮我們的資料表是經常執行那種操作。
如果經常用於查詢,資料不經常更新,就可以多建立一些非聚集索引。如果,空間有限、資料經常需要變動,避免在資料表中建立索引,因為資料的變動需要更新到索引頁,所以頻繁的資料變動會增加索引頁的更改,也會增加系統的使用率。

語法格式:

create
[unique][clustered][nonclustered]
 index index_name
 on
 table_name|view_name

這裡寫圖片描述
管理索引
就是對索引進行檢視、刪除這兩項操作。
如果表經常要進行插入和更新,我們就需要儘量少的保持索引量。
刪除:
這裡寫圖片描述
如果哪裡有什麼不對的,或者是還有一些地方需要改進,歡迎大家來和我溝通、探討,期待大家的指導與建議。