您好,登錄后才能下訂單哦!
本篇內容主要講解“Oracle之視圖及索引如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Oracle之視圖及索引如何使用”吧!
視圖概念: 視圖是基于一個表或多個表或視圖的邏輯表(虛表),本身不包含數據,通過它可以對表里面的數據進行查詢。
基表:視圖是從一個或多個實際表中獲得的,這些表的數據存放在數據庫中。那些用于產生視圖的表叫做該視圖的基表。
視圖優點:
簡化性
安全性
視圖分為簡單視圖和復雜視圖。兩者區別如下:
簡單視圖只從單表獲取數據,復雜視圖從多表獲取數據。
簡單視圖不包含函數和數據組,復雜視圖包含。
簡單視圖可以實現DML操作,復雜視圖不可以。
創建視圖的語法:
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)操作。
create or replace view emp_view as select * from emp where empno<1003;
在關系數據庫中,索引是一種與表有關的數據庫對象,它可以使對應于表的SQL查詢語句執行得更快。
索引的作用類似于圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。
對于數據庫來說,索引是一個必選項,對于現在的各種大型數據庫來說,索引可以大大提高數據庫的性能,以至于它變成了數據庫不可缺少的一部分。
B*樹索引:B*樹索引的存儲結構類似書的索引結構,有分支和葉兩種類型的存儲數據塊。分支塊相當于書的大目錄,葉塊相當于索引到具體的書頁。
位圖索引:位圖索引的存儲主要用來節省空間,減少Oracle對數據塊的訪問,它采用位圖偏移方式來與表的行ID對應,采購位圖索引一般是重復值太多的表字段。
唯一索引:唯一索引意味著不會有兩行記錄相同的索引鍵值。
非唯一索引:非唯一索引即不對索引列的值進行唯一性限制。
在正確使用索引的前提下,索引可以提高檢索相應表的速度。
下列情況可以創建索引
字段取值分布范圍很廣
字段中包含大量空值
字段經常出現在where子句或連接條件中
表經常被訪問、數據量很大,且通常每次訪問的數據量小于記錄總數的2%-4%。
下列情況不適合創建索引:
表很小
字段不經常出現在where子句中
每次訪問的數據量大于記錄總數的2%-4%
表經常更新
被索引的字段作為表達式的一部分被引用
索引創建的語法:
create [unique|bitmap] index 索引名稱
on 表名(列名1[desc|asc],……)
創建索引:
create index ix_emp_ename on emp(ename);
刪除索引:
drop index ix_emp_ename;
到此,相信大家對“Oracle之視圖及索引如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。