Subject RE: [ib-support] Firebird performance is really poor
Author Leyne, Sean
David,

> ACCOUNTS(accountid integer, branchid integer, accountbalance integer,
> junk char(88), primary key(accountid))
>
> TELLERS(tellerid integer, branchid integer, tellerbalance integer,
> junk char(88), primary key(tellerid))
>
> BRANCHES(branchid integer, branchbalance integer, primary
> key(branchid)

I trust that other indexes are defined in the database?


> I am running with 20 clients, and am getting 20TPS. With 1 million
> accounts I was getting 10TPS. I upped the cache size using gfix to
> 10,000 and got 5TPS.

As you've seen increasing the cache size is not always a good thing.

Now that I think of it, what page size are you using for the database?


> ... on MySQL which is running at over 1000 TPS.

Are you running the version/flavour of MySQL which supports
transactions?

The plain version does not support transactions/ACID operations.


> Are repreparing statements in Firebird significantly costly?

Yes, part of this reason for this is that Firebird does not, yet, have a
'compile statement' cache -- whereas, I believe, MySQL does.

There has been some discussion of implementing this cache, but it will
happen after the next v1.5 release (which is under feature freeze).


Sean