我知道我可以使用ctx_query.count_hits
來算的文件相匹配的查詢, 數同樣,我可以使用找到索引在我的oracle.context索引文件的數量?
count(*) where CONTAINS(...)
但這些只是選項如果我真的有一個查詢。如果我傳遞一個空字符串作爲查詢,這些函數會拋出異常(感謝oracle ...)。所以,
有沒有一種方法來計算我的 oracle.text索引索引的文件總數?
我知道我可以使用ctx_query.count_hits
來算的文件相匹配的查詢, 數同樣,我可以使用找到索引在我的oracle.context索引文件的數量?
count(*) where CONTAINS(...)
但這些只是選項如果我真的有一個查詢。如果我傳遞一個空字符串作爲查詢,這些函數會拋出異常(感謝oracle ...)。所以,
有沒有一種方法來計算我的 oracle.text索引索引的文件總數?
的首選方法是使用CTX_REPORT Package,無論是describe_index
set long 50000
select ctx_report.describe_index('MYINDEX') from dual;
會給你索引的文件數量docid count
專欄:
=========================================================================== INDEX DESCRIPTION =========================================================================== index name: "SCHEMA"."MYINDEX" index id: 1130 index type: context status: INDEXED full optimize token: full optimize count: docid count: 6909265 nextid: 6909266
另外,使用INDEX_STATS:
create table output (result CLOB);
declare
x clob := null;
begin
ctx_report.index_stats('MYINDEX',x);
insert into output values (x);
commit;
dbms_lob.freetemporary(x);
end;
/
set long 32000
set head off
set pagesize 10000
select * from output;
=========================================================================== STATISTICS FOR "SCHEMA"."MYINDEX" =========================================================================== indexed documents: 6,909,265
也有用得到索引的大小:
set long 50000
select ctx_report.index_size('MYINDEX') from dual;
可以使用CTX ...觀點:
select idx_name, idx_table_owner, idx_table, idx_docid_count
from ctx_user_indexes