Subject Re: [firebird-support] Average record length interpretation
Author Vlad Khorsun
> Seems I have problem with unused versions of rows in one table. Can you
> advice me, how to interpret Average record length and Average version
> length ? Why is Average record length so small ?
>
> SELDAT (147)
> Primary pointer page: 218, Index root page: 219
> Average record length: 0.21, total records: 1584809
> Average version length: 22.87, total versions: 1575168, max versions: 1
> Data pages: 23833, data page slots: 25638, average fill: 93%
> Fill distribution:
> 0 - 19% = 1
> 20 - 39% = 0
> 40 - 59% = 0
> 60 - 79% = 157
> 80 - 99% = 23675
>
>
> table itself consists only from 2 fields, each of those fields is
> varchar(10) and each field in each record contains string with length
> 10. Both fields together are unique, but there is no index around it, it
> is based on how we work with table.

Such small avg.rec.len show that most of the records is delete stub's.
I.e. almost all records was deleted but still not garbage collected. When
record is deleted, Firebird creates backversion with full record contetns
before deleting and small delete stub as primary record version. So, i can
guess you have 1575168 deleted records and 1584809 - 1575168 = 9641
alive records.

Regards,
Vlad