Fooling the query optimizer

Поиск
Список
Период
Сортировка
От Brent R.Matzelle
Тема Fooling the query optimizer
Дата
Msg-id 20010208154156.9447813AB5@ml-samba.mdc.mlhs.org
обсуждение исходный текст
Список pgsql-php
Have any of you discovered a way to get around the current query optimizer
limitation in Postgres?  For example, I have a table that has three columns
that I want to index for frequent search duties.  In Postgres I am forced to
create three indicies: one including all three columns, one for col2 and
col3, and one for just col3.  Databases like MySQL can use the first index
for these types of queries "SELECT * WHERE col2 = x AND col3 = y" and "SELECT
* WHERE col3 = y".  Postgres could only perform queries on indicies where it
looks like "SELECT * WHERE col1 = x AND col2 = y AND col3 = z" and "SELECT *
WHERE col1 = x AND col2 = y" etc.  However adding extra indexes as above
would decrease the write speed on that table because a simple insert would
require an update on all three indicies.

Is there a way to fool Postgres to use the first index by creating a query
like "SELECT * WHERE col1 = * AND col3 = x"?  I know I'm grasping for straws
here, but these issues can kill my database query performance.

Brent


В списке pgsql-php по дате отправления:

Предыдущее
От: Hahaha
Дата:
Сообщение: Snowhite and the Seven Dwarfs - The REAL story!
Следующее
От: "Adam Lang"
Дата:
Сообщение: Re: Fooling the query optimizer