mark <markir@i4free.co.nz> writes:
> I noticed that a large number of log notice messages announcing a
> deadlock being detected together with transactions being aborted
> The tables impacted in the benchmark had HASH indexes. ( only = scans
> were being performed, it seemed a good idea at the time ..). Recreating
> these indexes as BTREE made all the messages go away. ( and produced a
> better request/s result ! )
IIRC, hash indexes use per-page locking that is not guaranteed deadlock
free. It's also bad for concurrency even when you don't get a deadlock.
The btree index type is by far the best choice we offer for
high-concurrency applications. Perhaps at some point someone will
be motivated to improve the other index types, but right now they
are definitely poor stepchildren ...
regards, tom lane