From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, "J(dot) Andrew Rogers" <jrogers(at)neopolitan(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org, mischa(dot)sandberg(at)telus(dot)net |
Subject: | Re: Equivalent praxis to CLUSTERED INDEX? |
Date: | 2004-08-26 18:32:30 |
Message-ID: | 200408261132.30732.josh@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Bruce,
> How do vendors actually implement auto-clustering? I assume they move
> rows around during quiet periods or have lots of empty space in each
> value bucket.
That's how SQL Server does it. In old versions (6.5) you had to manually
send commands to update the cluster, same as PG. Also, when you create a
cluster (or an index or table for that matter) you can manually set an amount
of "space" to be held open on each data page for updates.
Also keep in mind that SQL Server, as a "single-user database" has a much
easier time with this. They don't have to hold several versions of an index
in memory and collapse it into a single version at commit time.
All that being said, we could do a better job of "auto-balancing" clustered
tables. I believe that someone was working on this in Hackers through what
they called "B-Tree Tables". What happened to that?
--
Josh Berkus
Aglio Database Solutions
San Francisco
From | Date | Subject | |
---|---|---|---|
Next Message | J. Andrew Rogers | 2004-08-26 19:04:48 | Re: Equivalent praxis to CLUSTERED INDEX? |
Previous Message | Josh Berkus | 2004-08-26 18:20:20 | Re: Disabling transaction/outdated-tuple behaviour |