大数据量下如何优化全数据模糊查询-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

大数据量下如何优化全数据模糊查询

小旋风柴进 2016-03-11 09:30:27 4155

需求:大数据量下进行模糊查询,会有条件

DB:Oracle

数据量 1亿++

主要数据为电信用户的家庭(标准)住址信息
eg:xx街道xxx小区xxx栋xxx号

在不调整数据库(软硬件)的情况下怎么,如何优化。
什么分表,分库,分布式数据库,就不讨论了。
目前采用了 Oracle 全文索引查询,但是速度依然很慢,有没有什么第三方工具/软件/方法能进行优化。
目前查询速度大约要20s左右,希望优化到3s内查询出结果。
目前的情况和下面说的情况差不多,用户的这个痛点就是我们公司的产品性能问题所致! " 呵呵,有次去电信营业厅办业务,看营业员在UI上选地址,真让人抓狂啊,必须选市,然后选区,再选街道,小区,线路编号,而且速度真的很慢,营业员选完了估计花了5分钟。当时他们的系统要是有20s的模糊查询,估计每天能多办1倍业务。 对oracle在这个层面上的优化不是很懂,地址的模糊查询中,最快的方式是把所有地址预先计算一个有向DAG,并编制索引。扯的远了,呵呵。 印象中,oracle的full text采用的二元词干法做分词的,这个分词技术不是很准确,还可以设置对每个“字”遍索引,还可以定期的优化全文索引。

自然语言处理 Oracle 关系型数据库 分布式数据库 数据库 索引
分享到
取消 提交回答
全部回答(2)
  • yu_hc200
    2019-07-17 18:58:21

    单纯从数据库的角度说,这个数据量的数据,一定需要拆表,如果不是在kw级的数量,即使建了索引,查询成本也是很高的。此外,按省市区这种的查询,最好的方法是把地址做拆分,然后省市区都建为独立字段。使用like或者全文检索的维护成本很高,对业务也没有太多帮助。

    0 0
  • 小旋风柴进
    2019-07-17 18:58:21

    这种数据量的模糊查询应该用全文检索来。直接使用lucene可能时间和代价太大,可以考虑solr4.*和elasticsearch,而且扩张也比较方便。

    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程