Subject Re: [firebird-support] Limitting maximum database file size
Author Bisma Jayadi
Hi Helen,

> Unfortunately, you are looking for a file-based database to do
> what you want, and a transaction-driven, multi-generational
> database is not designed to do it.

Hmmm.. how if I compare it with another RDBMS, say DB2. AFAIK, please
CMIIW, DB2 also able to do what Firebird can do without growing the
database file size. What is muti-generational database? Why Firebird is
designed using it?

> That said, the times and sizes you report at least show that
> something is terribly wrong with what you are doing. If you
> can get past the need you perceive to not hold back-versions
> (which Firebird does to protect your data in a multi-user
> environment) we can give some guidance on how to prevent your
> database from growing so much and from degrading in
> performance.

Alright, maybe I did something wrong with my application. FYI, I'm
building a database application with Kylix 3. I'm using dbExpress
component (TSQLConnection and TSQLQuery, for precisely) to access the
database. In pseudo-code, this is what my application do:

---
1: open database connection;
2: for i = 1 to some_limit do
3: for j = 1 to some_limit do
4: begin
5: update one_table set one_field = a_value;
6: select some_records from some_fields
where match_conditions;

7: do something; // no database access here.

8: for k = 0 to result_set_record_count - 1 do
9: begin
10: update one_table set one_field = a_value
where match_conditions;
11: commit retain;
12: end;
13: end;
14: close database connection;
---

> 6 mins for 50,000 updates is ludicrous and for it to keep
> getting worse means your client environment is killing the
> garbage collection.

I'm definitely agree with you, 6 mins for 50,000 updates is ludicrous.
But, that's what really happening to my database and application.

From Paul Beach, I got this trick. He said this command can minimize the
effect of garbage collection. Here is the command: SET TRANSACTION READ
COMMITTED NO RECORD_VERSION. What do you think about it?

I need help to overcome this problem, as newbie in Firebird, I can't
figure it out myself. For any kind of respons and helps, I thank you in
advance.

-Bee-



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.486 / Virus Database: 284 - Release Date: 29-05-2003