LOB欄位相關概念(自動建立LOB索引段和重建索引方法)
LOB欄位相關概念(自動建立LOB索引段和重建索引方法)
LOBs,或Large Objects欄位,是Oracle中用於處理儲存非字元資料推薦的一種欄位型別,例如mp3,video,圖片,和long字串資料。二進位制大物件,或BLOBs,字元大物件,或CLOBs,能夠儲存TB的資料。
LOB列有許多相關的屬性,每個LOB列屬性可以使用“LOB (lobcolname) STORE AS ...”這種語法來描述。
一個包含LOBs欄位型別的表(CLOB,NCLOB和BLOB)會為每個LOB列建立兩個額外的磁碟段segment,LOBINDEX和LOBSEGMENT。可以透過DBA_LOBS,ALL_LOBS或USER_LOBS資料字典檢視表來檢視他們以及LOB屬性。
按照MOS(1490228.1)的示例,可以指定LOBINDEX和LOBSEGMENT的表空間(8i以前的版本允許LOBINDEX和LOBSEGMENT使用的表空間不同):
Create table DemoLob ( A number, B clob ) LOB(b) STORE AS lobsegname ( TABLESPACE lobsegts STORAGE (lobsegment storage clause) INDEX lobindexname ( TABLESPACE lobidxts STORAGE ( lobindex storage clause ) ) ) TABLESPACE tables_ts STORAGE( tables storage clause ) ;
下面再做個簡單的實驗,證明LOB列的表會自動建立LOB索引:
SQL> create table ml_test1(a clob);
Table created
SQL> create index idx_ml_test1 on ml_test1 (a);
create index idx_ml_test1 on ml_test1 (a)
*
ERROR at line 1:
ORA-02327: cannot create index on expression with datatype LOB
ORA-02327: 無法以資料型別 LOB 的表示式建立索引
Table created
SQL> create index idx_ml_test1 on ml_test1 (a);
create index idx_ml_test1 on ml_test1 (a)
*
ERROR at line 1:
ORA-02327: cannot create index on expression with datatype LOB
ORA-02327: 無法以資料型別 LOB 的表示式建立索引
表明不能用CREATE INDEX為LOB列建立索引。
SQL> col table_name for a10
SQL> select index_name,status,index_type,table_name from user_indexes where table_name='ML_TEST1';
INDEX_NAME STATUS INDEX_TYPE TABLE_NAME
------------------------------ -------- --------------------------- ----------
SYS_IL0000013716C00001$$ VALID LOB ML_TEST1
檢視已經為LOB列自動建立了一個索引。
col segment_name for a25
SQL>select segment_name, segment_type, bytes from user_segments where segment_type like '%LOB%' or segment_name like '%ML%';
SEGMENT_NAME SEGMENT_TY BYTES
------------------------- ---------- ----------
SYS_IL0000013716C00001$$ LOBINDEX 65536
SYS_LOB0000013716C00001$$ LOBSEGMENT 65536
ML_TEST1 TABLE 65536
------------------------- ---------- ----------
SYS_IL0000013716C00001$$ LOBINDEX 65536
SYS_LOB0000013716C00001$$ LOBSEGMENT 65536
ML_TEST1 TABLE 65536
檢視該表包含了三個segment,分別是TABLE、LOBINDEX和LOBSEGMENT型別。
堆表MOVE時,LOB型別欄位和該索引不會跟著MOVE,必須手工操作MOVE:
(MOS)ALTER TABLEtest MOVE TABLESPACE tbs1 LOB (lob1, lob2) STORE AS (TABLESPACE tbs2 DISABLE STORAGE IN ROW);
alter tableml_test1 move tablespace users;
alter tableml_test1 move lob(a) store as (tablespace users);
alter tableml_test1 move lob(a) store as (tablespace users);
alter table ml_test1 move tablespace users LOB (a) STORE AS lobsegment (TABLESPACE users);
alter table除了用於移動LOB,也可以是重建LOB欄位索引的方法,無法單獨重建LOBINDEX或LOBSEGMENT。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31536640/viewspace-2155013/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20181020]lob欄位的索引段.txt索引
- [20231008]bbed探究lob段.txt
- [20181021]臨時表lob段建立在哪裡.txt
- [重慶思莊每日技術分享]-重建LOB欄位上的IndexIndex
- 【LOB】Oracle Lob管理常用sqlOracleSQL
- ORACLE LOB大欄位維護Oracle
- 【LOB】Oracle lob管理常用語句Oracle
- 索引重建索引
- 重建索引索引
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- MySQ索引操作命令總結(建立、重建、查詢和刪除索引命令詳解)索引
- mongodb建立索引和刪除索引和背景索引backgroundMongoDB索引
- [20181031]lob欄位與布隆過濾.txt
- MSSQL Rebuild(重建)索引SQLRebuild索引
- oracle重建索引(二)Oracle索引
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- [20210208]lob欄位與查詢的問題.txt
- [20181022]lob欄位的lobid來之那裡.txt
- 匿名類 與 索引重建索引
- ElasticSearch分片互動過程(建立索引、刪除索引、查詢索引)Elasticsearch索引
- trigger+lob+ora-22275
- Sqlserver自動查詢缺失索引及拼出建立索引的語句的指令碼SQLServer索引指令碼
- [20190531]lob型別pctversion 和 retention.txt型別
- 清理重建失敗的索引索引
- SQL Server 2014的重建索引SQLServer索引
- 多表關聯查詢中,關聯欄位都應該建立索引嗎?索引
- mysql建立索引和檢視MySql索引
- 【ORA-01555】Oracle LOB欄位匯出 報錯 ORA-01555Oracle
- HugeGraph之索引重建和刪除索引
- 如何在Mac上重建Spotlight索引Mac索引
- 教你如何在 elasticsearch 中重建索引Elasticsearch索引
- MySQL索引分類及相關概念辨析MySql索引
- 聯合索引和多個單列索引使用中的索引命中情況及索引建立原則索引
- DocumentDB 建立索引索引
- Hive建立索引Hive索引
- 用SQL建立索引的方法步驟SQL索引
- 使用Elasticsearch的動態索引和索引優化Elasticsearch索引優化