类似于图书馆的搜索模块性能
一个java web项目里
有一个类似于图书馆的文档搜索模块
假设数据库里的记录有几十万条
每个记录有 文档名, 文档归属单位,日期等等
oracle数据库
这样的项目量
直接用sql like 之类的匹配方法
会慢吗?满足普通搜索吗? 大概一两千个用户,同时搜索的用户可能也就几人几十人吧
否则,有啥优化方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
explain
一下看看是否走了索引。like '%**%'
是不走索引的。请在数据库中进行实测,以我们这边的测试数据库为例:
21万的数据,在描述字段上使用like进行模糊匹配,查找前20条需要0.3秒左右时间,执行计划中的COST将近200,对数据库的负担不算大。
如果想提升查询的性能或效果,需要使用SOLR或ElasticSearch的全文检索方案。
普通的索引,like模糊匹配用不到,如果想使用oracle中的全文索引,可以参考我以前做的一个测试:oracle全文索引测试