檢視、索引和資料庫表之間的關係
阿新 • • 發佈:2022-12-12
1 表
- 資料庫中的資料都儲存在表中;
- 表示物理儲存的,真實存在的。
2 檢視
2.1 檢視的定義
檢視:檢視本身就是一張虛擬表,其內容與真實表類似,包含一些列帶有名稱的列和行資料。檢視並不在資料庫中以儲存資料值的形式存在。行和列資料來定義檢視的查詢所引用基本表,並且在具體引用檢視時動態生成。
- 檢視是基於SQL語句的結果集的視覺化表;
- 包含行和列,就像一個真實的表。檢視中的欄位就是來自一個或多個數據庫中的真實的表中的欄位。
- 檢視是邏輯概念,並非真實存在,它不同於一張物理表,它是一個邏輯表。
- 檢視是SQL集,它表示的事對一個SQL查詢的結果。
2.2 檢視的特點
- 檢視的列可以來自於不同的表,是表的抽象在邏輯意義上建立的新關係;
- 檢視是由基本表(是表)產生的表(虛表);
- 檢視的建立和刪除不影響基本表;
- 對檢視內容的更新(新增、刪除、修改)直接影響基本表;
- 當檢視來自多個基本表時,不允許新增和刪除資料。
2.3 建立檢視的 SQL 語句
2.3.1 建立檢視
create view View-name [引數列表]
as select [查詢列表] from 表名;
2.3.2 查詢檢視
select [檢視列表] from 檢視名
2.3.3 建立各種視圖表
3 索引
3.1 索引的定義
資料庫索引通俗的講就是和書本的目錄一樣,只要就是為了提高查詢資料的效率。由於資料儲存在資料庫表中,所以索引是建立在資料庫表物件上,有表中的一個欄位或多個欄位生成的鍵組成,由表中的一個或多個欄位生成的鍵組成,這些鍵儲存在資料結構(B-樹或hash表)中,通過MySQL可以快速有效地查詢和鍵值相關聯的欄位。根據索引的儲存型別,可以將索引分為B型樹索引(Btree)和雜湊索引(hash)。MySQL中支援的索引有6中,分別是普通索引、唯一索引、全文索引、單列索引、多列索引和空間索引。
3.2 索引的特性
- 在不讀取整個表的情況下,索引使資料庫應用程式可以更快地查詢資料。(是為了快速查詢而針對某些欄位建立起來的)
- 更新一個包含索引的表需要比更新一個沒有索引的表更多的時間,這是由於縮影本身也需要更新。