create_table: test_objects do | t | t.column: field1,: integer t.column: field2,: integer t.column: field3,: integer t.column: field4,: integer t.column: field5,: integer end
values = [] 5000.times do values.push ({: field1 => rand (10000),: field2 => rand (10000),: field3 => rand (10000), : field4 => rand (10000),: field5 => rand (10000)}) end values.each do | item | TestObject.new (item) .save end
require 'ar-extensions' require 'ar-extensions / adapters / mysql' require 'ar-extensions / import / mysql' .... objs = [] values.each do | item | objs.push (TestObject.new (item)) end TestObject.import objs
sql = ActiveRecord :: Base.connection () values.each do | item | sql.execute ("INSERT INTO` test_objects` (`field1`,` field2`, `field3`,` field4`, `field5`) VALUES ('# {item [: field1]}', '# {item [: field2]}', '# {item [: field3]}', '# {item [: field4]}', '# {item [: field5]} ') ") end
sql = ActiveRecord :: Base.connection () sql.execute ("START TRANSACTION") values.each do | item | sql.execute ("INSERT INTO` test_objects` (`field1`,` field2`, `field3`,` field4`, `field5`) VALUES ('# {item [: field1]}', '# {item [: field2]}', '# {item [: field3]}', '# {item [: field4]}', '# {item [: field5]} ') ") end sql.execute ("COMMIT")
objs = [] values.each do | item | objs.push ("('# {item [: field1]}', '# {item [: field2]}', '# {item [: field3]}', '# {item [: field4]}}, '# {item [: field5]}') ") end sql.execute ("INSERT INTO` test_objects` (`field1`,` field2`, `field3`,` field4`, `field5`) VALUES" + objs.join (','))
Source: https://habr.com/ru/post/65555/
All Articles