程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle(三)--)其他數據庫對象(簡單扼要論序列)

Oracle(三)--)其他數據庫對象(簡單扼要論序列)

編輯:Oracle教程

Oracle(三)--)其他數據庫對象(簡單扼要論序列)


開篇一提·_· 除視圖外,其他數據庫對象分別為:序列、同義詞、索引。其中最重要的是序列部分(與觸發器相關),同義詞和索引只做了解。 一、 1、序列概念 可供多個用戶用來產生唯一數值的數據庫對象 1)自動提供唯一的數值 2)共享對象 3)主要用於提供主鍵值 4)將序列值裝入內存可以提高訪問效率。
2、定義序列的語句 \ \
Sequence 兩個屬性( nextval、currval )的使用。<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPgo8c3Ryb25nPjGjqbLp0a88L3N0cm9uZz4KPHN0cm9uZz61scewJiMyMDU0MDujujwvc3Ryb25nPgo8c3Ryb25nPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20150831/20150831093507404.png" alt="\">
\ 下一個值 \
\ 注意事項: nextval 和 currval 偽列 1、nextval 返回序列中的下一個有效的值,任何用戶都可以引用 2、currval 中存放序列的當前值 3、nextval 應在 currval 之前指定,否則會報 currval 尚未在此會話中定義的錯誤。 \
\ 查詢序列後,顯示如下: \\
2)序列的修改 \
\ 改為:每次增長1,以及不循環,即表中 id 無上限。 插入數據後: \ \
修改序列的注意事項: 1、必須是序列的擁有者或對序列有 alter 權限; 2、只有將來的序列值會被改變; 3、改變序列的初始值只能通過刪除序列之後重建序列的方法實現。
3)序列的使用 1、將序列值存入內存可提高訪問效率 2、序列在下列情況下出現裂痕: -- 回滾 -- 系統異常 -- 多個表同時使用一個序列(一個表維護一個序列,不要多個表由一個序列維護) 3、如果不將序列的值存入內存(nocache),可使用表 user_sequences 查看序列當前的有效值。
二、索引 1、概念 1)一種獨立於表的模式對象,可以存儲在與表不同的磁盤或表空間中 2)索引被刪除或損壞,不會對表產生影響,其影響的只是查詢的速度 3)索引一旦建立,Oracle 管理系統會對其進行自動維護,而且由 Oracle 管理系統決定何時使用索引。用戶不用再查詢語句中指定使用哪個索引 4)在刪除一個表時,所有基於該表的索引會自動被刪除 5)通過指針加速 Oracle 服務器的查詢速度 6)通過快速定位數據的方法,減少磁盤的 I/O
2、創建索引 1)自動創建:在定義 primary key 或 unique 約束後系統自動在響應的列上創建唯一性索引 2)手動創建:用戶可以在其他列上創建非唯一的索引,以加速查詢
例:在一個或多個列上創建索引 \ 創建成功顯示:Index created
3、何時創建索引 -- 列中的數據值分布范圍很廣 -- 列經常在where 子句或連接條件中出現(使用頻繁就需要索引) -- 表經常被訪問而且數據量很大,訪問的數據大概占數據總量的 2% 到 4%
4、什麼時候不要創建索引 -- 表很小 -- 列不經常作為連接條件或出現在 where 子句中 -- 查詢的數據大於 2% 到 4% -- 表經常更新
三、同義詞 見數據庫對象一文



版權聲明:本文為博主原創文章,未經博主允許不得轉載。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved