上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2 问题分析与解决方案
当通过Java、C#、Python等语言对MySQL进行操作时,不仅有语言自身的消耗,还有语言和数据库连接的消耗,所以当想要为数据库增加大量数据时,建议通过中间件或计算机系统对其增加数据量,切勿通过语言连接的方式。
另外,在执行时应尽可能减少事务、链表等相应情况,即减少一切损失执行速度的可能性,这样便可用最快的速度填充整个数据库。例如,在程序设计上,Redisson通过Lua脚本的方式控制Redis,将每一页的Lua脚本交由Redis自身,而非使用Jedis连接的方式来解决,所以Redisson的性能一向优良。
我们分别通过INSERT INTO SELECT、存储过程和Loadfile三种方案为MySQL快速填充亿级数据。其中,INSERT INTO SELECT方案是MySQL提供的SQL语句,而SQL语句可直接在MySQL内执行,所以速度更快。存储过程方案可减少事务提交次数,并且可以增加包含逻辑结构的数据,以快速填充数据库。Loadfile方案可将外置资源文件导入数据库,通过数据迁移的方式快速填充数据库。