Subject | Data clustering |
---|---|
Author | Ann W. Harrison |
Post date | 2001-06-28T15:59:03Z |
There's been some discussion on the mers list about
clustering data - most of it irrelevant to InterBase -
but it gave me an idea - or what passes for an idea
with me.
If gbak reads a table in sorted order, the data will
be restored in that order. At the moment, there's
no way to tell gbak to ask for a particular ordering.
Choices for that are:
Extension to the system tables, possibly putting a
number on an rdb$relation_fields record indicating
it's position in the sort key. The language would
be part of create/alter table, something like
"default order <field>[, <field> ...]
Advantages - clean, consistent, stays with the database.
Disadvantage - incompatible with other versions.
Input file for gbak - Gbak command lines are already
unwieldy, so teaching it to parse a command file is
probably a good idea anyway. We could invent some
simple syntax to specify ordering of individual tables.
Advantages - no impact on engine or databases
Disadvantage - scripts are easy to lose
New table, like the old QLI procedures tables, that
gbak reads to get sorting instructions.
Advantages - in the database, maintainable, and compatible.
Disadvantage - seems a bit hokey.
Thoughts?
Ann
clustering data - most of it irrelevant to InterBase -
but it gave me an idea - or what passes for an idea
with me.
If gbak reads a table in sorted order, the data will
be restored in that order. At the moment, there's
no way to tell gbak to ask for a particular ordering.
Choices for that are:
Extension to the system tables, possibly putting a
number on an rdb$relation_fields record indicating
it's position in the sort key. The language would
be part of create/alter table, something like
"default order <field>[, <field> ...]
Advantages - clean, consistent, stays with the database.
Disadvantage - incompatible with other versions.
Input file for gbak - Gbak command lines are already
unwieldy, so teaching it to parse a command file is
probably a good idea anyway. We could invent some
simple syntax to specify ordering of individual tables.
Advantages - no impact on engine or databases
Disadvantage - scripts are easy to lose
New table, like the old QLI procedures tables, that
gbak reads to get sorting instructions.
Advantages - in the database, maintainable, and compatible.
Disadvantage - seems a bit hokey.
Thoughts?
Ann