我用 Active Record 的 create 一条条插入数据库,10 分钟导了 4w 条。600w/4w*10=1500 分钟=30 小时!!!没想到效率竟然是如此之低。
本想给老板做个报表 show 下 Rails 的快速开发,没想到卡在导入了,这下脸丢大了。
后来把文件转换成 mysql 的"insert into"语句,直接用""mysqlimport"",还是这个来的快呀。5 分钟搞定。
顺便查了下 ActiveRecord 慢的原因,每 Create 一条记录都要新开一个 Transaction 并 commit。不能批量提交,即使你给 Create 传一个数组。
你有什么好方法吗?期待分享。 Nosql 真的快吗,有没有人试?