oracle 文章内容检索

sx469499504 2012-08-29 05:00:33
现在公司有个需求就是以短信的内容为检索条件进行检索,但检索速非常慢,
select * from sms_send m where m.sms_content like '%短信内容%';
求高手给个优化方法
...全文
156 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lookat800 2012-08-30
  • 打赏
  • 举报
回复
--全文索引
GRANT CTXAPP TO 当前用户;
GRANT EXECUTE ON CTX_DDL TO 当前用户;
在当前用户下执行 EXEC CTX_DDL.CREATE_PREFERENCE('CTX_LEXER','CHINESE_VGRAM_LEXER');
create index IDX_PASSWD_EMAIL on PASSWD (EMAIL)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('LEXER CTX_LEXER');
--查询方式
select .... where contains(xxx,'xxx')>0 这样可以模糊查询。
-- sync: 同步
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''xxxxx'');',SYSDATE,'SYSDATE + (1/24/4)');
commit;
END;
-- optimizer删除同步
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''xxxxx'',''FULL'');',SYSDATE,'SYSDATE + 1');
commit;
END;
yinan9 2012-08-29
  • 打赏
  • 举报
回复
可以试试这样,把模糊查询的字段分隔开
where m.sms_content like like ‘XX%’
and m.sms_content like 'YY%'
人生无悔 2012-08-29
  • 打赏
  • 举报
回复
使用全文检索,baidu下,很多的
yinan9 2012-08-29
  • 打赏
  • 举报
回复
模糊查询的字段前加通配符,这样不会走索引,速度自然会很慢。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧