Re: INDEX Performance Issue

Поиск
Список
Период
Сортировка
От Mark Davidson
Тема Re: INDEX Performance Issue
Дата
Msg-id CAPpwVW2ecnmDeqL6CTNCzDe0GwQfkCoZEKQy1rOuoR6FUSTshA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: INDEX Performance Issue  (Kevin Grittner <kgrittn@ymail.com>)
Ответы Re: INDEX Performance Issue  (Greg Williamson <gwilliamson39@yahoo.com>)
Список pgsql-performance
Hi Kevin

Thanks for your response. I tried doing what you suggested so that table now has a primary key of ' CONSTRAINT data_area_pkey PRIMARY KEY(area_id , data_id ); ' and I've added the INDEX of 'CREATE INDEX data_area_data_id_index ON data_area USING btree (data_id );' unfortunately it hasn't resulted in an improvement of the query performance. Here is the explain http://explain.depesz.com/s/tDL I think there is no performance increase because its now not using primary key and just using the index on the data_id. Have I done what you suggested correctly? Any other suggestions?

Thanks very much for your help,

Mark



On 5 April 2013 17:37, Kevin Grittner <kgrittn@ymail.com> wrote:
Mark Davidson <mark@4each.co.uk> wrote:

>   CONSTRAINT data_area_pkey PRIMARY KEY (data_id , area_id ),

So the only index on this 250 million row table starts with the ID
of the point, but you are joining to it by the ID of the area.
That's requires a sequential scan of all 250 million rows.  Switch
the order of the columns in the primary key, add a unique index
with the columns switched, or add an index on just the area ID.

Perhaps you thought that the foreign key constraints would create
indexes?  (They don't.)

--
Kevin Grittner
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

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

Предыдущее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: Find how much memory is postgres using
Следующее
От: Greg Williamson
Дата:
Сообщение: Re: INDEX Performance Issue