java - 类似于图书馆的搜索模块性能
高洛峰
高洛峰 2017-04-18 10:26:53
[Java讨论组]

一个java web项目里
有一个类似于图书馆的文档搜索模块
假设数据库里的记录有几十万条
每个记录有 文档名, 文档归属单位,日期等等
oracle数据库

这样的项目量
直接用sql like 之类的匹配方法
会慢吗?满足普通搜索吗? 大概一两千个用户,同时搜索的用户可能也就几人几十人吧
否则,有啥优化方法?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
大家讲道理

explain一下看看是否走了索引。
like '%**%'是不走索引的。

ringa_lee

请在数据库中进行实测,以我们这边的测试数据库为例:

21万的数据,在描述字段上使用like进行模糊匹配,查找前20条需要0.3秒左右时间,执行计划中的COST将近200,对数据库的负担不算大。

如果想提升查询的性能或效果,需要使用SOLR或ElasticSearch的全文检索方案。
普通的索引,like模糊匹配用不到,如果想使用oracle中的全文索引,可以参考我以前做的一个测试:oracle全文索引测试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号