I was excited to try AR-extensions (http://www.continuousthinking.com/
tags/arext) to do a bunch of data importing that had been really slow.
But then I was disappointed to see that it actually didn't help and
wondered if I was missing something.

I'm finding that it actually goes faster to do

batch.each{|l| Quote.create(:date => l[0], :company_id => l
[1], :daily_return => l[2])}

than to do

Quote.import([:date, :company_id, :daily_return], batch)

In the script/server log when I do Quote.import I get an INSERT
statement for each line of the input, like this:

  SQL (0.005698)   INSERT INTO
"quotes" ("date","company_id","daily_return") VALUES('20040803',
3210,'0.002108
')
  SQL (0.008398)   INSERT INTO
"quotes" ("date","company_id","daily_return") VALUES('20040804',
3210,'-0.004628
')

and when I do a bunch of iterated #create calls I get statements like
this:

 Quote Create (0.000774)   INSERT INTO "quotes" ("daily_return",
"price", "date", "company_id", "abnormal_return", "volume") VALUES
(0.020922, NULL, '2008-11-28', 428, NULL, NULL)
  Quote Create (0.000689)   INSERT INTO "quotes" ("daily_return",
"price", "date", "company_id", "abnormal_return", "volume") VALUES
(-0.026083, NULL, '2008-12-01', 428, NULL, NULL)

So the import method is doing the same number of SQL INSERT
statements; here they happen to be faster although I'm not sure why
that is. I expected the import method to speed things up by combining
the commits into one statement or something.

Is this the expected behavior?

Thanks,
Andy





--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to