0 0

请问在oracle查询clob字段的内容怎么办呢?5

  我在ORACLE10G中,有个表的字段是文章的内容CLOB字段,我通过LIKE 查询这个字段的内容,但是非常非常的慢,怎么才能让它快起来啊??
2011年5月09日 21:53

4个答案 按时间排序 按投票排序

0 0

采纳的答案

建议使用全文检索(FULL TEXT SEARCH)。

用ORACLE8i中的intermedia text或者oracle9i的text对CLOB字段建一个CTXSYS.CONTEXT 类型的索引, 然后在查询时用CONTAIN作为查询条件.代码如下:

--创建表
CREATE TABLE tb_clob(
userid NUMBER PRIMARY KEY,
text CLOB
);
--建立索引
CREATE INDEX search_idx
ON tb_clob(text)
INDEXTYPE IS ctxsys.CONTEXT;
--查询
SELECT COUNT(*)
  FROM tb_clob
 WHERE contains(text, 'index', 1) > 0

2011年5月10日 06:48
0 0

如果是大文本,还是建议使用全文检索。用CLOB自带的函数检索,效率肯定不怎么的。关键是用不上索引。

建议结合lucene使用。数据库的全文检索有点鸡肋。

2011年5月10日 09:12
0 0

对大字段的查询还是全文检索吧

2011年5月09日 22:07
0 0

dbms_lob.instr(colname,searchValue,1,1)>0
这样可能会好点.
全文检索,关系数据库总的是不咋的吧.

2011年5月09日 21:57

相关推荐

Global site tag (gtag.js) - Google Analytics