wenzuowei110
2010-10-21 14:33
浏览 402
已采纳

怎么处理大数据量的复杂查询?

小弟现在是要做一个这样的事情,一个日志的查询系统。这个日志要从4个表中查出来,每个表有几十万条数据(以后可能增长到几百万条)。 我现在用的是最平常的子查询,可是java中出报出内存溢出的异常(偶尔能查询出来,不过那速度真的忍受不了),我就想问问各位大侠你们怎么处理这样的大数据量,而且有复杂的关联关系的查询啊?
问题表述不清,还请各位多多包涵。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • iteye_3976 2010-10-22 17:07
    已采纳

    查询一个机构下所有账户的所有日志。。。。这肯定溢出啊。 。

    基本大型应用里不能取查 ‘所有’ 的

    你要给个条件限制,或者做分页,

    仔细再分析一下业务场景吧,需要变通一下

    点赞 打赏 评论
  • AA@陈长泽@.com 2010-10-21 14:45

    对关键字段做索引。
    如果数据有规律,可以分到多个表中。
    在查询的条件语句里,第一步将最多的干扰项排除。
    比如要查询人。
    条件:男,20~39岁,已婚
    那第一个条件用“男”将一般的干扰项排除,第二个条件我建议是“已婚”,第三个是年龄。
    还有就是不同字段筛选速度不一样,字符串和数字的速度差别就很大。
    好像具体的数据库要具体对待吧。

    点赞 打赏 评论
  • iteye_4873 2010-10-21 16:43

    把SQL发上来看看哈~

    点赞 打赏 评论
  • sunday888 2010-10-22 08:50

    你报内存溢出不是因为查询慢的原因吧,应该是结果集过大导致。这个与查询效率无关的吧

    点赞 打赏 评论

相关推荐 更多相似问题