日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle索引和同义词,关于Oracle序列、索引、同义词

發布時間:2025/3/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle索引和同义词,关于Oracle序列、索引、同义词 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單記錄下Oracle序列、索引、同義詞的相關知識。

一、常見的數據庫對象

二、序列

序列: 可供多個用戶用來產生唯一數值的數據庫對象

自動提供唯一的數值

共享對象

主要用于提供主鍵值

將序列值裝入內存可以提高訪問效率

①、創建序列

CREATE SEQUENCE sequence

[INCREMENT BY n]? --每次增長的數值

[START WITH n]? ? --從哪個值開始

[{MAXVALUE n | NOMAXVALUE}]

[{MINVALUE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}]? ? --是否需要循環

[{CACHE n | NOCACHE}];? --是否緩存登錄

CREATE SEQUENCE dept_deptid_seq

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCACHE

NOCYCLE

INSERT INTO departments(department_id, department_name, location_id)

VALUES (dept_deptid_seq.NEXTVAL, 'Support', 2500);

②、NEXTVAL 和 CURRVAL 偽列

NEXTVAL 返回序列中下一個有效的值,任何用戶都可以引用

CURRVAL 中存放序列的當前值

CURRVAL? 應在 NEXTVAL之后指定 ,否則會報CURRVAL 尚未在此會話中定義的錯誤。

③、數據字典USER_SEQUENCES

SELECT? ? sequence_name, min_value, max_value,

increment_by, last_number

FROM? ? user_sequences;

查詢數據字典視圖 USER_SEQUENCES 獲取序列定義信息

如果指定NOCACHE 選項,則列LAST_NUMBER 顯示序列中下一個有效的值

④、使用序列

1、將序列值裝入內存可提高訪問效率

2、序列在下列情況下出現裂縫:

回滾

系統異常

多個表同時使用同一序列

3、如果不將序列的值裝入內存(NOCACHE), 可使用表 USER_SEQUENCES 查看序列當前的有效值

⑤、修改序列

ALTER SEQUENCE dept_deptid_seq

INCREMENT BY 20

MAXVALUE 999999

NOCACHE

NOCYCLE;

⑥、修改序列的注意事項

必須是序列的擁有者或對序列有 ALTER 權限

只有將來的序列值會被改變

改變序列的初始值只能通過刪除序列之后重建序列的方法實現

⑦、刪除序列

使用 DROP SEQUENCE 語句刪除序列

刪除之后,序列不能再次被引用

DROP SEQUENCE dept_deptid_seq;

Sequence dropped.

三、索引

一種獨立于表的模式對象, 可以存儲在與表不同的磁盤或表空間中

索引被刪除或損壞, 不會對表產生影響, 其影響的只是查詢的速度

索引一旦建立, Oracle 管理系統會對其進行自動維護, 而且由 Oracle 管理系統決定何時使用索引。用戶不用在查詢語句中指定使用哪個索引

在刪除一個表時,所有基于該表的索引會自動被刪除

通過指針加速 Oracle 服務器的查詢速度

通過快速定位數據的方法,減少磁盤 I/O

①、創建索引

自動創建: 在定義 PRIMARY KEY 或 UNIQUE 約束后系統自動在相應的列上創建唯一性索引

手動創建: 用戶可以在其它列上創建非唯一的索引,以加速查詢

在一個或多個列上創建索引

CREATE INDEX index

ON table (column[, column]...);

在表 EMPLOYEES的列 LAST_NAME 上創建索引

CREATE INDEX emp_last_name_idx ON employees(last_name);

Index created.

②、查詢索引

可以使用數據字典視圖 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息

SELECT? ? ic.index_name, ic.column_name,

ic.column_position col_pos,ix.uniqueness

FROM? ? user_indexes ix, user_ind_columns ic

WHERE? ? ic.index_name = ix.index_name

AND? ? ic.table_name = 'EMPLOYEES';

四、同義詞-synonym

CREATE SYNONYM e FOR employees;

select * from e;

為視圖DEPT_SUM_VU 創建同義詞

CREATE SYNONYM? d_sum

FOR? dept_sum_vu;

Synonym Created.

刪除同義詞

DROP SYNONYM d_sum;

Synonym dropped.

總結

以上是生活随笔為你收集整理的oracle索引和同义词,关于Oracle序列、索引、同义词的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。