Subject | Re: [firebird-support] Re: Basic tests shows very poor performance |
---|---|
Author | grostoon |
Post date | 2005-09-30T11:04:21Z |
Hi all,
Ok, I did the test with postgresql 7.3, mysql 2.23, FB 1.53 and FB2.0.
I remember you that I have 2 cloned tables tbl1 and tbl2 (name char(10), age integer)
and 4 indexes : idx1 on tbl1 (name), idx2 on tbl1 (age), idx3 on tbl2 (name) and
idx4 on tbl2(age).
At the begining, I insert ('aaaa', 1) in tbl1 and ('bbbb', -20) in tbl2
then in do insert into tbl2 select * from tbl1 and insert into tbl1 select * from tbl2
until I have 317811 rows in tbl1. Then I delete all rows in tbl1 and I do a select count(*) from tbl1.
Here are the results I've got (all done with the same Linux box with no other application
running except OS default task that do not consume cpu cycles) :
POSTGRES:
-------------------
all inserts : 38.3 s
select count(*) from tbl1 : 1.5 s
select count(*) from tbl1 : 0.3 s
select count(*) from tbl1 : 0.3 s => notice the difference with the first select (reproducible)
delete from tbl1 : 6.2 s
select count(*) from tbl1: 0.1 s
select count(*) from tbl1: 0.0 s
select count(*) from tbl1: 0.0 s
MYSQL (InnoDB tables for transaction support):
--------------------------------------------------------------------
all inserts : 34.6 s
select count(*) from tbl1 : 0.8 s ;
select count(*) from tbl1 : 0.4 s
select count(*) from tbl1 : 0.4 s
delete from tbl1 : 26.1 s
select count(*) from tbl1: 0.7 s
select count(*) from tbl1: 0.0 s
select count(*) from tbl1: 0.0 s
FIREBIRD 1.53
----------------------
all inserts : 16.7 s
select count(*) tbl1 : 0.5 s
select count(*) tbl1 : 0.6 s
select count(*) tbl1 : 0.6 s
delete from tbl1 : 1.68 s
select count(*) tbl1 : 2430 s !!!
select count(*) tbl1 : 0.0 s
select count(*) tbl1 : 0.0 s
FIREBIRD 2.0
--------------------
Same as FB1.53 except for the 'delete from tbl1' which takes only 6 s !!!
My conclusion is that there was really something wrong in FB1.5 that has been changed
in FB 2.0 and then, FB performances are very closed or even better (insert, delete) than those of postgres and mysql (of course just for this basic scenario).
So there was no reason to laugh and compare what I said with "testing how fast a space shuttle takes to move the first 100 meters". Seriously, spending 45 minutes to discover that
a table is actually empty for a database of less than 50Mo, it's all but a normal behaviour
even for a scenario that, I admit it, is not representative of real database access...
Regards;
Toon.
joseph_ceasar <joseph_ceasar@...> wrote:
--- In firebird-support@yahoogroups.com, grostoon <grostoon@y...>
wrote:
Please share the results with us.
Visit http://firebird.sourceforge.net and click the Resources item
on the main (top) menu. Try Knowledgebase and FAQ links !
Also search the knowledgebases at http://www.ibphoenix.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------------------------
YAHOO! GROUPS LINKS
Visit your group "firebird-support" on the web.
To unsubscribe from this group, send an email to:
firebird-support-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
---------------------------------
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.
[Non-text portions of this message have been removed]
Ok, I did the test with postgresql 7.3, mysql 2.23, FB 1.53 and FB2.0.
I remember you that I have 2 cloned tables tbl1 and tbl2 (name char(10), age integer)
and 4 indexes : idx1 on tbl1 (name), idx2 on tbl1 (age), idx3 on tbl2 (name) and
idx4 on tbl2(age).
At the begining, I insert ('aaaa', 1) in tbl1 and ('bbbb', -20) in tbl2
then in do insert into tbl2 select * from tbl1 and insert into tbl1 select * from tbl2
until I have 317811 rows in tbl1. Then I delete all rows in tbl1 and I do a select count(*) from tbl1.
Here are the results I've got (all done with the same Linux box with no other application
running except OS default task that do not consume cpu cycles) :
POSTGRES:
-------------------
all inserts : 38.3 s
select count(*) from tbl1 : 1.5 s
select count(*) from tbl1 : 0.3 s
select count(*) from tbl1 : 0.3 s => notice the difference with the first select (reproducible)
delete from tbl1 : 6.2 s
select count(*) from tbl1: 0.1 s
select count(*) from tbl1: 0.0 s
select count(*) from tbl1: 0.0 s
MYSQL (InnoDB tables for transaction support):
--------------------------------------------------------------------
all inserts : 34.6 s
select count(*) from tbl1 : 0.8 s ;
select count(*) from tbl1 : 0.4 s
select count(*) from tbl1 : 0.4 s
delete from tbl1 : 26.1 s
select count(*) from tbl1: 0.7 s
select count(*) from tbl1: 0.0 s
select count(*) from tbl1: 0.0 s
FIREBIRD 1.53
----------------------
all inserts : 16.7 s
select count(*) tbl1 : 0.5 s
select count(*) tbl1 : 0.6 s
select count(*) tbl1 : 0.6 s
delete from tbl1 : 1.68 s
select count(*) tbl1 : 2430 s !!!
select count(*) tbl1 : 0.0 s
select count(*) tbl1 : 0.0 s
FIREBIRD 2.0
--------------------
Same as FB1.53 except for the 'delete from tbl1' which takes only 6 s !!!
My conclusion is that there was really something wrong in FB1.5 that has been changed
in FB 2.0 and then, FB performances are very closed or even better (insert, delete) than those of postgres and mysql (of course just for this basic scenario).
So there was no reason to laugh and compare what I said with "testing how fast a space shuttle takes to move the first 100 meters". Seriously, spending 45 minutes to discover that
a table is actually empty for a database of less than 50Mo, it's all but a normal behaviour
even for a scenario that, I admit it, is not representative of real database access...
Regards;
Toon.
joseph_ceasar <joseph_ceasar@...> wrote:
--- In firebird-support@yahoogroups.com, grostoon <grostoon@y...>
wrote:
Please share the results with us.
>tables) and oracle to see what timings I get.
> I'm going to do the same test with postgresql, mysql (with innodb
>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Regards,
>
> Toon.
>
Visit http://firebird.sourceforge.net and click the Resources item
on the main (top) menu. Try Knowledgebase and FAQ links !
Also search the knowledgebases at http://www.ibphoenix.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------------------------
YAHOO! GROUPS LINKS
Visit your group "firebird-support" on the web.
To unsubscribe from this group, send an email to:
firebird-support-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
---------------------------------
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.
[Non-text portions of this message have been removed]