oracle建立全文索引,使用contains替换like,提高查询效率

大家都知道 条件中使用 like查询不能使用索引,这是想要提高查询效率可以使用全文索引

第一步,创建全文索引

ctx_ddl.create_preference ('my_lexer', 'chinese_vgram_lexer');

chinese_lexer只能是utf-8字符集的oracle

chinese_vgram_lexer支持多种字符集,但对中文检索效率低,很石板

推荐使用chinese_lexer

第二部,使用第一步建立的检索器,生成全局索引

CREATEINDEXmyindexONmytable(mycolumn)indextype is ctxsys.context parameters('lexer my_lexer');


3,使用全局索引

select * from user_info where contains(userID,'%nihao%')

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容