Subject Re: Fill ratio when doing a restore
Author Christian Kaufmann
Hello Ann,

> In this case, I would use that switch. The reserved space is used
> only for modified and deleted records. If there is no space on page
> when a modification or delete is done, Firebird will move the back
> version to a different page. That's expensive, but not nearly so
> expensive as having all pages half filled.

OK. But if I understand correctly, even an update of a single record,
where I change only the field SWIMRESULTID forces Firebird to add a
new copy of it and then, a new page will be necessary?

Is there a rule, how records are grouped on a page when doing a
restore? My table looks like this:

RECREATE TABLE RANKINGITEM
(
PLACE SMALLINT,
RANKINGCLUBID INTEGER NOT NULL,
SORTCODE SMALLINT NOT NULL,
SWIMRESULTID INTEGER NOT NULL,
CONSTRAINT PK_RANKINGITEM PRIMARY KEY (RANKINGCLUBID, SORTCODE)
);

Then I have an additional index:

CREATE ASC INDEX IX_RANKINGITEM_SWIMRESULT ON RANKINGITEM
(SWIMRESULTID, RANKINGCLUBID);


Originally it's more or less random, how the records were added. But
when adding new records, most of them will be added with a new value
of RANKINGCLUBID. So I'm just interested, if for example the primary
key makes Firebird to group the records by RANKINGCLUBID and like
this, pages with old records stay untouched?

cu Christian