开发过程中遇到一些百万级别的数据导入分析计算等场景,总结解决办法及思路。
仅针对:关系型数据库中百万计算的数据分析计算
问题:数据查询耗时比较长(潜在的连接超时问题)、消耗内存、逐行计算速度缓慢等;
思路:尽量使用数据库的计算能力,以下几个案例仅供参考。
场景1:导入百万账号数据,与数据库中已存在的账号进行去重
步骤:导入账号数据进入临时表,并给本次导入数据赋一个版本号x,将数据分为N份通过并发执行将数据导入临时表中,通过账号字段将临时表、正式表关联起来,update正式表中enable字段。然后删除正式表中enable字段为空的数据,完成后删除临时表中版本号为x的数据。
场景2:已存入数据库的百万级别数据计算
步骤:使用insert+select方式,在数据库完成计算