24 -Oracle學習(5)- 序列

1 序列

  • 可供多個用戶用來產生唯一數值的數據庫對象
  • 自動提供惟一的數值
  • 共享對象
  • 主要用於提供主鍵
  • 將序列值裝入內存可以提高訪問效率

1.1 創建序列

SQL> create sequence myseq;
SQL> create table testseq(tid number,tname varchar2(20));
SQL> select myseq.nextval from dual;
SQL> select myseq.currval from dual;
SQL> insert into testseq values(myseq.nextval,'aa');
SQL> insert into testseq values(myseq.nextval,'aa');
SQL> insert into testseq values(myseq.nextval,'aa');
SQL> slect * from testseq;
SQL> commit;
SQL> insert into testseq values(myseq.nextval,'aa');
SQL>rollback

2 索引

  • 一種獨立於表的模式對象,可以存儲在與表不同的磁盤或者表空間
  • 索引被刪除或者損壞,不會對錶產生影響,其影響只是查表的速度
  • 索引一旦被建立,oracle管理系統會對其進行自動維護,而且由oracle管理系統決定何時使用索引,用戶不用在查詢查詢語句中指定使用哪個索引
  • 在刪除一個表時,所有基於該表的索引會自動被刪除
  • 通過指針加速oracle服務器的查詢速度
  • 通過快速定位的方法,減少磁盤的I/O

索引可以提高查詢速度,我們只需要創建索引,至於怎麼使用索引,是oracle系統內部的事情

2.1 什麼情況下創建索引

  • 列中數據值分佈很廣
  • 列經常在where語句或連接條件中出現
  • 表經常被訪問,而且量很大,訪問的數據大概佔總量的2%~4%

2.2 什麼情況下不要創建索引

  • 表很小
  • 經常更新
  • 列不經常在where語句或連接條件中出現

2.3 創建索引

在這裏插入圖片描述

3 同義詞

  • 使用同義詞訪問其它對象
  • 方便訪問其它用戶的對象
  • 縮短對象名字的長度
  • 創建同義詞需要授權

在這裏插入圖片描述


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章