首頁 > 軟體

Oracle學習筆記之檢視及索引的使用

2022-07-19 14:01:05

一、檢視的使用

1.概念

檢視概念: 檢視是基於一個表或多個表或檢視的邏輯表(虛表),本身不包含資料,通過它可以對錶裡面的資料進行查詢。

基表:檢視是從一個或多個實際表中獲得的,這些表的資料存放在資料庫中。那些用於產生檢視的表叫做該檢視的基表。

檢視優點:

  • 簡化性
  • 安全性

2.檢視分類

檢視分為簡單檢視和複雜檢視。兩者區別如下:

  • 簡單檢視只從單表獲取資料,複雜檢視從多表獲取資料。
  • 簡單檢視不包含函數和資料組,複雜檢視包含。
  • 簡單檢視可以實現DML操作,複雜檢視不可以。

3.檢視語法

建立檢視的語法:

  • CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[,alias]...)]
  • AS subquery [WITH CHECK OPTION] [WITH READ ONLY]

引數解析:

  • OR REPLACE:如果檢視存在,新定義將替換檢視。
  • FORCE:基本不存在也將建立檢視,NOFORCE相反。
  •  ALIAS:為檢視產生的列定義別名,如不定義將採用基表中列名。
  • SUBQUERY:一條查詢語句。
  • WITH CHECK OPTION:插入或者修改資料必須滿足檢視查詢(SUBQUERY)WHERE子句的條件。
  • WITH READ ONLY:不能對檢視進行刪改(DELETE/UPDATE)操作。

4.檢視範例

create or replace view emp_view
as select * from emp where empno<1003;

 二、索引

1.索引概念

  • 在關聯式資料庫中,索引是一種與表有關的資料庫物件,它可以使對應於表的SQL查詢語句執行得更快。
  • 索引的作用類似於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。
  • 對於資料庫來說,索引是一個必選項,對於現在的各種大型資料庫來說,索引可以大大提高資料庫的效能,以至於它變成了資料庫不可缺少的一部分。

2.索引分類

2.1、按物理儲存方式分類

B*樹索引:B*樹索引的儲存結構類似書的索引結構,有分支和葉兩種型別的儲存資料塊。分支塊相當於書的大目錄,葉塊相當於索引到具體的書頁。

點陣圖索引:點陣圖索引的儲存主要用來節省空間,減少Oracle對資料塊的存取,它採用點陣圖偏移方式來與表的行ID對應,採購點陣圖索引一般是重複值太多的表欄位。

2.2、按邏輯功能分類

唯一索引:唯一索引意味著不會有兩行記錄相同的索引鍵值。

非唯一索引:非唯一索引即不對索引列的值進行唯一性限制。

3.索引原則

在正確使用索引的前提下,索引可以提高檢索相應表的速度。

  • 下列情況可以建立索引
  • 欄位取值分佈範圍很廣
  • 欄位中包含大量空值
  • 欄位經常出現在where子句或連線條件中
  • 表經常被存取、資料量很大,且通常每次存取的資料量小於記錄總數的2%-4%。

下列情況不適合建立索引:

  • 表很小
  • 欄位不經常出現在where子句中
  • 每次存取的資料量大於記錄總數的2%-4%
  • 表經常更新
  • 被索引的欄位作為表示式的一部分被參照

4.索引語法

索引建立的語法:

  •  create [unique|bitmap] index 索引名稱
  • on 表名(列名1[desc|asc],……)

建立索引:

create index ix_emp_ename on emp(ename);

刪除索引:

drop index ix_emp_ename;

到此這篇關於Oracle學習筆記之檢視及索引的使用的文章就介紹到這了,更多相關Oracle 檢視內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com