论坛首页 Java企业应用论坛

性能提升--意见收集贴(数据超过4000条,就明显慢了),代码已贴出

浏览 4552 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-06-25  
你用了like,永远都快不了,因为索引无效

必须用lucene之类的全文搜索引擎
0 请登录后投票
   发表时间:2009-06-25  
union all 效率最低了
0 请登录后投票
   发表时间:2009-06-25   最后修改:2009-06-25
asklxf 写道
你用了like,永远都快不了,因为索引无效

必须用lucene之类的全文搜索引擎


就一个简单的匹配,只不过数据量稍大点,就非搜索引擎不可了?[另:没用like,用的是regularExpress]
0 请登录后投票
   发表时间:2009-06-25  
是不是你语句的事ne !~
0 请登录后投票
   发表时间:2009-06-25  
whaosoft 写道
是不是你语句的事ne !~


有优化方法么?
# private String sql = "select t1.* from OuterTask t1 where  t1.tag regexp :tags union all select t2.* from InnerTask t2 where  t2.tag regexp :tags order by publishDate desc  ";  
#   
#     private String sqlCount = "select count(t.id) from ("  
#             + " select t1.id from OuterTask t1 where  t1.tag regexp :tags union all select t2.id from InnerTask t2 where  t2.tag regexp :tags ) t";  
#   
0 请登录后投票
   发表时间:2009-06-25  
不能用like 要用搜索引擎来实现,除非你只是想玩玩
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics