
Signature
independIT Integrative Technologies GmbH
Sitz der Gesellschaft: Schrobenhausen
HRB Neuburg B 1.521
Geschäftsführer:
Dieter Stubler, Dipl. Inform. (FH)
Ronald Jeninga, Diplom Mathematiker
Hi, thanks,
"modify fimbul_status to hash unique"
solved the problem for now (but still have about 6% overflow pages!).
Problem is caused by a 3 monthly batch process that inserts many more rows
than usual into the table, and after they are deleted we are left with a
grossly overflowed table (or were they overflowed before the deletes?). We
have a weekly batch process that reorganises our tables, but unfortunately
the other batch job ran after the reorganise.
This is the only hash table we have in the system, and that to avoid locks
on index pages, as the table is so central.
I'm a bit busy right now on several unrelated projects, but will certainly
look into minpages next year (unless I can persuade a dba, or someone in the
"fimbul" team, to look into it).
Andrew
Hi,
a modify to reorganize won't help you. It is only a method to redistribute a
table from a set of locations to another set of locations.
What you need is a
modify fimbul_status to hash unique on medl_ident
with minpages = 4096; /* or some other power of two */
This will actually reorganize the storage structure. (and drop all indexes,
but since you don't have any, that's no problem). Because of the number of
rows in the table, it'll only last a few seconds (after you got the lock).
You'll have to watch the overflow pages. If they still occur, choosing
another number for the minpages might help. (Another number of pages
results into a differently behaving hash-function).
selecting the tid/512 gives you a clue on which page(s) your data resides.
If the selected number is larger than the number of mainpages, it is an
overflowpage. (The number of mainpages = Number of pages - Overflow data
pages).
HTH
Ronald
On Wed, 17 Dec 2003 13:27:08 +0100
"Andrew Wilson" <bluemalov@hotmail.com> wrote:
> Hi,
>
[quoted text clipped - 65 lines]
>
> Secondary indexes: none

Signature
independIT Integrative Technologies GmbH
Sitz der Gesellschaft: Schrobenhausen
HRB Neuburg B 1.521
Gesch?ftsf?hrer:
Dieter Stubler, Dipl. Inform. (FH)
Ronald Jeninga, Diplom Mathematiker
Ronald Jeninga - 19 Dec 2003 11:08 GMT
Hi,
having a lot of main pages doesn't harm, especially if you intend to have only
one row per page. So you could prepare for your 3-monthly batch by increasing
the number of mainpages to something far more than your 3-monthly batch will
ever need.
The only disadvantage is the amount of diskspace consumed by the table then.
So if you issue a
modify fimbul_status to hash unique on ...
with minpages = 262144; /* or 524288, or ... */
your 3-month Job won't do any harm anymore (asuming it needs about 80.000 pages).
Under normal circumstances you'll have one row per page and no overflow.
During your large job you might have more than one row per page (which is not
really a problem then) and only a little overflow (or maybe even no overflow
at all).
As I said, the disadvantage is that you have a 256MB file in your filesystem.
There are no negative impacts on your caching, as long as you do full qualified
searches.
This is a warning: DON'T DO TABLE SCANS on such hash-tables, they will be horribly
slow and sweep out your cache, thereby reducing the overall system performance.
HTH
Ronald
> Hi, thanks,
>
[quoted text clipped - 16 lines]
>
> Andrew
<SNIP>

Signature
independIT Integrative Technologies GmbH
Sitz der Gesellschaft: Schrobenhausen
HRB Neuburg B 1.521
Geschäftsführer:
Dieter Stubler, Dipl. Inform. (FH)
Ronald Jeninga, Diplom Mathematiker