query planner: automatic rescribe of LIKE to BETWEEN ?

От: Ulrich Habel
Тема: query planner: automatic rescribe of LIKE to BETWEEN ?
Дата: ,
Msg-id: 200608221922.59734.espero7757@gmx.net
(см: обсуждение, исходный текст)
Ответы: Re: query planner: automatic rescribe of LIKE to BETWEEN ?  (Alvaro Herrera)
Re: query planner: automatic rescribe of LIKE to BETWEEN ?  (Tom Lane)
Список: pgsql-performance

Скрыть дерево обсуждения

query planner: automatic rescribe of LIKE to BETWEEN ?  (Ulrich Habel, )
 Re: query planner: automatic rescribe of LIKE to BETWEEN ?  (Alvaro Herrera, )
  Re: query planner: automatic rescribe of LIKE to BETWEEN ?  ("Thomas Samson", )
   Re: query planner: automatic rescribe of LIKE to BETWEEN ?  (Alvaro Herrera, )
 Re: query planner: automatic rescribe of LIKE to BETWEEN ?  (Tom Lane, )

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


В списке pgsql-performance по дате сообщения:

От: Jeff Davis
Дата:
Сообщение: Re: PowerEdge 2950 questions
От: "Subbiah, Stalin"
Дата:
Сообщение: Query tuning