SQL基礎學習筆記(五)—序列、索引、同義字

來源:互聯網
上載者:User

標籤:

常見的資料庫物件
表:基本的資料存放區集合,由行和列組成
視圖:從表中抽出邏輯上相關的資料集合
序列:提供有規律的數值
索引:提高查詢效率
同義字:給對象起別名

(索引和同義字瞭解即可)


序列sequences
可供多個使用者用來產生唯一數值的資料庫物件
自動提供唯一的數值
共用對象
主要用於提供主鍵值
將序列值裝入記憶體可以提高訪問效率
如何和建立序列
CREATE SEQUENCE sequence[INCREMENT BY n]  --每次增長的數值[START WITH n]    --從哪個值開始[{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE | NOCYCLE}]     --是否需要迴圈      [{CACHE n | NOCACHE}];  --是否緩衝登入

序列的應用:
比如在校大學生每個人都會有唯一且不重複的學號,既然每個人都有,那麼就沒有必要每個人的資訊都insert填寫,這時就可以使用序列來實現
所以用序列來充當主鍵值
建立序列
create sequence empseqincrement by 1start with 1maxvalue 10cycle --迴圈nocache--不需要緩衝登陸


查看序列

select empseq.nextval from dual;select empseq.currval from dual;

注意要先使用nextval
建立一個空表
create table emp01asselect employee_id , last_name , salaryfrom employeeswhere 1 = 2

添加資料
insert into emp01values(1,'a',2000)

使用序列

insert into emp01values(empseq.nextval,'a',2000)

每次就不需要再填寫employee_id的值了
修改序列
alter sequence empseqincrement by 2nocycle

序列的修改除了初始值都可以用alter,初始值只能通過刪除序列後重建序列的方法實現

將序列值裝入記憶體可提高訪問效率

序列在下列情況下出現裂縫:
復原
系統異常
多個表同時使用同一序列   ->emp1使用empseq序列得到的主鍵值是3,emp2也使用empseq序列得到的主鍵值是4,那emp1再使用empseq得到的值就是5,這就出現裂縫

如果不將序列的值裝入記憶體(NOCACHE), 可使用表 USER_SEQUENCES 查看序列當前的有效值

刪除序列  
drop sequence empseq;


索引:
一種獨立於表的模式對象, 可以儲存在與表不同的磁碟或資料表空間
索引被刪除或損壞, 不會對錶產生影響, 其影響的只是查詢的速度
索引一旦建立, Oracle 管理系統會對其進行自動維護, 而且由 Oracle 管理系統決定何時使用索引。使用者不用在查詢語句中指定使用哪個索引
在刪除一個表時,所有基於該表的索引會自動被刪除
通過指標加速 Oracle 伺服器的查詢速度
通過快速定位元據的方法,減少磁碟 I/O
自動建立: 在定義 PRIMARY KEY 或 UNIQUE 約束後系統自動在相應的列上建立唯一性索引
手動建立: 使用者可以在其它列上建立非唯一的索引,以加速查詢
create index emp01_id_ixon emp01(employee_id)

刪除索引:
drop index emp01_id_ix

什麼時候建立索引?
以下情況可以建立索引:
列中資料值分布範圍很廣
列經常在 WHERE 子句或串連條件中出現
表經常被訪問而且資料量很大 ,訪問的資料大概占資料總量的2%到4%
什麼時候不要建立索引?
下列情況不要建立索引:
表很小
列不經常作為串連條件或出現在WHERE子句中
查詢的資料大於2%到4%
表經常更新
同義字-synonym
使用同義字訪問相同的對象:
方便訪問其它使用者的對象
縮短對象名字的長度
CREATE SYNONYM e FOR employees;select * from e;

SQL基礎學習筆記(五)—序列、索引、同義字

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.