对大数据量的处理思路

  最近要用程序对百万级别的数据量进行处理,综合性能和代码执行时间,来考虑如何书写高质量的代码.

  首先就是读数据的问题,由于数据量比较大,我们可以考虑根据唯一的主键id来取数据,这样速度比较快,而且数量不能太大,读取Mysql数据库,数据超过3万,速度就下降很明显了.

我们根据id一次取出3000个数据进行处理,处理完,继续读取取出下一个3000条,这样直到数据处理完.如果数据量小于3万,我们可以直接全部读出放到内存进行处理.

  其次是更新数据,数据量比较大,我们可以一次更新3000条数据,如果涉及到事物操作,必须是一次更新3000数据放到内存,然后调用一次事物操作数据库,切记不能一个循环调用一次事物.这样很耗时间和性能的。总之对于写操作就是避免循环一次操作一次数据库.就处理完一定量数据(3000-9000条数据),然后再操作数据库.

  最后操作大批量数据时,一定要记录日志,保留处理数据的id,避免因程序异常断开,造成数据更新失败,不知道更新到哪里了.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮的梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值