Xiao,
> Phase 1 seems extremely easy. I'm trying to do it first.
> Additionally, I need a benchmark to test the performance. It seems
> there's some tools list in
> http://wiki.postgresql.org/wiki/Performances_QA_testing . Any advice?
For a simple test, pgbench is actually going to be pretty good for hash
index since it's mostly primary key access. You also might want to write
your own unit tests using pgunittest, because you want to test the
following:
bulk load, both COPY and INSERT
single-row updates, inserts and deletes
batch update by key
batch update by other index
batch delete by key
batch delete by other index
concurrent index updates (64 connections insert/deleting concurrently)
You can compare all of the above against b-tree and unindexed columns.
For a hard-core benchmark, I'd try EAStress (SpecJAppserver Lite)
--
--Josh
Josh Berkus
PostgreSQL @ Sun
San Francisco