Hi!
Search for "surrogate key" in google for example.
You have to modify your generated primary key values to not hit the same
index blocks consecutively. For example, add another high-cardinality column to
your primary key, or if using meaningless primary keys then just have your
primary keys values to be spread over different value ranges (either by using
two sequences, one is "main" seq, other is a "wrapping" cycling from 1 to 1000
for example - the result sequence would be wrapping seq * main seq, thus each
insert is going to different part in index, other way would be using
pre-generated primary key values).
Other way would be to hash-partition your tables
and indexes to spread inserts over partitions, but I suggest you to get your
design ok first.
Also, with lot's of concurrent inserts, you should
increase the number of freelists for your tables to the number of concurrent
inserts, also take a look to _bump_highwater_mark_count parameter and freelist
groups when having really huge insert activity.
Tanel.
|
- Re: insert performance Paul Baumgartel
- RE: insert performance Paul Baumgartel
- RE: insert performance DENNIS WILLIAMS
- RE: insert performance Mohammad Rafiq
- Re: insert performance Mohammed Shakir
- Re: insert performance Paul Baumgartel
- Insert performance Rick Stephenson
- RE: Insert performance Reardon, Bruce (CALBBAY)
- Re: Insert performance Justin Cave
- Re: Insert performance zhu chao
- RE: Insert performance Tanel Poder
- RE: Insert performance Rick Stephenson
- RE: Insert performance Cary Millsap