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 [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
-~----------~----~----~----~------~----~------~--~---