问题描述
小弟现在是要做一个这样的事情,一个日志的查询系统。这个日志要从4个表中查出来,每个表有几十万条数据(以后可能增长到几百万条)。 我现在用的是最平常的子查询,可是java中出报出内存溢出的异常(偶尔能查询出来,不过那速度真的忍受不了),我就想问问各位大侠你们怎么处理这样的大数据量,而且有复杂的关联关系的查询啊? 问题表述不清,还请各位多多包涵。 问题补充:fool_leave 写道
解决方案
查询一个机构下所有账户的所有日志。。。。这肯定溢出啊。 。基本大型应用里不能取查 ‘所有’ 的你要给个条件限制,或者做分页,仔细再分析一下业务场景吧,需要变通一下
解决方案二:
你报内存溢出不是因为查询慢的原因吧,应该是结果集过大导致。这个与查询效率无关的吧
解决方案三:
把SQL发上来看看哈~
解决方案四:
对关键字段做索引。如果数据有规律,可以分到多个表中。在查询的条件语句里,第一步将最多的干扰项排除。比如要查询人。条件:男,20~39岁,已婚那第一个条件用“男”将一般的干扰项排除,第二个条件我建议是“已婚”,第三个是年龄。还有就是不同字段筛选速度不一样,字符串和数字的速度差别就很大。好像具体的数据库要具体对待吧。
时间: 2024-09-13 11:04:29