Java使用JDBC增删改查几千万的数据

长方体混凝土移动大师 发布于 2016/09/02 15:34
阅读 1K+
收藏 0

Java+orcale10g+jdbc来操作几千万的数据,要求高效,还要考虑增量。

目前的思路是先优化sql,在程序中使用batch来add,update,delete,但是这个findAll就是不知怎么弄了,最初的想法是将返回的结果集放在map中,不知道这样的思路能解决问题么。

求个大神指点一二。。。跪谢。。。

加载中
0
kukudeku
kukudeku
我前两天也遇到了此类问题,一般地,如果对这张千万级表增删改操作比较频繁,那么建议添加缓存层,然后利用异步线程对数据进行操作,缓存层可以使用Java的HashMap,也可以使用Redis、或者Spring与ehcache集成,都是不错的。如果对这张表查询比较频繁,而增删改操作比较少,那么利用HashMap把数据暂存到内存中就足够,然后定期去刷新缓存,而不用使用第三方的缓存了。当然具体的情况还需要根据你的自身情况而定。因为我的操作只涉及到查询操作,因此,我是利用HashMap来作缓存,然后在刷新缓存方面,我利用了类似fork/join框架技术来实现分治,以提高查询效率。望采纳
长方体混凝土移动大师
长方体混凝土移动大师
和我的想法大致一致,就是有个框架没用过,带尝试使用通过缓存层了解决问题。您的回复和详细,采纳,问题已解决。。。
长方体混凝土移动大师
长方体混凝土移动大师
回复 @JanGin_Chan : 和我的想法大致一致,就是有个框架没用过,带尝试使用通过缓存层了解决问题。您的回复和详细,采纳。。。
JanGin_Chan
JanGin_Chan
回复 @notreami : 所以上面的回答说了是针对查询比较频繁的情况下对查询结果进行缓存啊
notreami
notreami
对于修改、删除和插入,增加缓存层感觉意义不大吧
1
黑狗
黑狗

没有具体的场景你还是别问了。。。

黑狗
黑狗
回复 @NULL_caption : 如果是通常的数据库操作的性能问题的话 各个框架都可以解决 hibernate+ehcache等 再看看索引和sql语句的性能分析 可以解决一些查询语句的瓶颈问题
黑狗
黑狗
回复 @NULL_caption : 如果你是要弄什么机器学习人工智能关联分析等等 可能就要去看专门的知识了 我不懂那个 但是肯定不是你这样 应该是一些专门的算法和配套的方案
黑狗
黑狗
回复 @NULL_caption : 要看你做什么分析 如果只是出几个报表的话 几个sql就搞定了 弄点辅助表来维护各个表的关系 几个join就可以出报表了 不要想findAll放内存里去弄 也不要想“分页”查出来做分析,分页查出来的数据都不完整肯定出不了分析结果 而且性能各方面还不如存储过程 还是想办法直接在数据库里处结果还可行一点
长方体混凝土移动大师
长方体混凝土移动大师
回复 @Eric_林 : es??能具体说说嘛?
Eric_林
Eric_林
回复 @NULL_caption : 把这部分数据剥离出来吧,用es来做
下一页
0
skhuhu
skhuhu
少年郎··动不动几千万 几亿数据··还要高效····太难了···板凳··看看有没有高人
notreami
notreami
真想问问,随随便便就修改几千万数据,总数据得有多少啊
长方体混凝土移动大师
长方体混凝土移动大师
哎,在下也不想呀,关键是有啊36不过在考虑能不能分割成小一点的量,一点点的处理,,,
0
亭舸翁
亭舸翁

建好索引和分区,几千万对于oracle来说不是问题。但你这个findAll什么意思?所有数据都查出来?查出来怎么用?

这个数据量需要的是pageQuery而不是findAll吧

长方体混凝土移动大师
长方体混凝土移动大师
恩恩,findALL是错了,应该用pageQuery
0
IdleMan
IdleMan
丢掉jdbc,直接存储过程
长方体混凝土移动大师
长方体混凝土移动大师
回复 @lifer : 有考虑,被cto pass掉了
lifer
lifer
0
Martin_Luo
Martin_Luo
findAll是什么 意思,是在所有的记录当中检索吗?另外表结构,日常检索要求,目前性能瓶颈都有哪些?
长方体混凝土移动大师
长方体混凝土移动大师
就是单纯的使用Java完成一个大量数据去重的工具类,数据库优化已经做好了
0
草的高度
草的高度
主要问题是在sql查询语句上和数据库设计上
0
大豪_
大豪_
操作几千万条数据,plsql吧
0
天王盖地虎
天王盖地虎

如果是对几千万的数据查询的话,就建索引,优化查询SQL查询之后再缓存起来。以便下次再查同样的内容。

如果是修改的话,就直接调存储过程吧。

长方体混凝土移动大师
长方体混凝土移动大师
恩恩,可以试试
0
罗文浩
罗文浩
map集会是装不了几千万的,到达60万基本是顶峰,当然还要看机器。为什么要查全部呢?分页查不可以吗?加上索引分区分表
长方体混凝土移动大师
长方体混凝土移动大师
恩恩,使用的就是pageQuery
返回顶部
顶部