Gary Doades wrote:
> Jian Lin wrote:
>> ok, the following code with 6000 records insert will take 13.3 seconds 
>> to finish (just for the db portion).  if i change 6000 to 30000 then it 
>> will take 67 seconds.
>> 
> 
> OK, I created the table and the index and ran your code for 30000
> records, but I wrapped the database part in a Benchmark.measure{}
> 
> Using MySQL:
> 
> For 30000 inserts with no indexes:
> 
> "Starting inserting records"
>   31.996000   0.639000  32.635000 ( 35.356000)
> 30000
> 
> For 30000 inserts with all indexes:
> 
> "Starting inserting records"
>   32.795000   0.982000  33.777000 ( 37.103000)
> 30000
> 
> That's 33 seconds of CPU time with 37 seconds elapsed on a quad core 2.4
> GHz with a Seagate Barracuda SATA drive with 32MB cache.
> 
> As you can see, it's pretty much all in CPU time!!!!
> 
> 
> The result was essentially the same in Postgres and MS SQL server!
> 
> So you can forget about the database itself. None of the database
> engines were unduly taxed by the test.
> 
> Just for fun I changed the program to output the data as SQL INSERT
> statements and then run that (with 30000 inserts wrapped in a
> transaction) against MySQL.
> 
> Imported in 1.2 seconds!!
> 
> I Don't know if it is the hash lookup code or ActiveRecord that is
> gobbling up the time, but it certainly isn't the database.
> 
> You'll need to tinker with, or better profile your code to find out what
> is  sucking up the time.


yeah that's what i was going to say...  the line

Phrase.transaction do


didn't cause any "transaction" statement to show up in the 
development.log

so is it suppose to have begin a transaction?

so the 1.2 second result you have, is by collecting all those INSERT 
statements and then wrap them in a begin transaction and commit and it 
is 1.2 seconds...

I wonder then, can't this be achieved in ActiveRecord?

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to