Hello all,
had an idea of optimizing a query that may work generally.
In case a 'column' is indexed, following two alterations could be done
I think:
A)
select ... where column ~ '^Foo' --> Seq Scan
into that:
select ... where column BETWEEN 'Foo' AND 'FooZ' --> Index Scan
of course 'Z' should be the last possible character internally used of the
DBMS.
That would work as long as there is no in-case-sensitive search being done.
another rescribtion:
B)
select ... where column ~ '^Foo$' --> Seq Scan
into that:
select ... where column = 'Foo' --> Bitmap Heap Scan
That speeds up things, too.
That would also apply to 'LIKE' and 'SIMILAR TO' operations, I think.
Is there any idea to make the "Query Planner" more intelligent to do these
convertions automatically?
Anythings speeks against this hack?
Regards
Uli Habel