I hope tomorrow execute explain with the bitmapscan and seqscan enabled.
bitmapscans are almost always faster?
Like all the rest, they're just a tool, which works great when used in
its intended purpose :
- Fetching just a few percent of the rows from a table is better served
by an index scan
- Fetching a lot of rows (>30-50%) from a table is better served by a seq
scan
- Bitmap scan comes in between and it's a very welcome addition.
Also Bitmap scan will save your life if you have complex searches, like
if you run a dating site and have an index on blondes and an index on boob
size, because it can use several indexes in complex AND/OR queries.
Common wisdom says simpler databases can be faster than postgres on
simple queries.
Reality check with pg 8.1 driven by PHP :
- SELECT 1
mysql 5 ~ 42 us
postgres ~ 70 us
- SELECT * FROM users WHERE id=1
mysql 5 ~ 180 us
postgres ~ 160 us
Of course people doing stupid things, like using the database to keep a
hit counter on their website which is updated on every hit, will say that
postgres is slow.