Re: Schema design question as it pertains to performance

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: Schema design question as it pertains to performance
Дата
Msg-id 20130122215601.120610@gmx.com
обсуждение исходный текст
Ответ на Schema design question as it pertains to performance  ("Benjamin Krajmalnik" <kraj@servoyant.com>)
Ответы Re: Schema design question as it pertains to performance  ("Benjamin Krajmalnik" <kraj@servoyant.com>)
Список pgsql-admin
Benjamin Krajmalnik wrote:

> From a performance standpoint, is there a big hit on select performance
> if a query ends up utilizing more than one index, taking into account
> that an index has been used already to reduce the data set of potential
> records, and the secondary index would mostly be used in the ordering of
> the result set (such as a last updated time)?

That depends on so many variables it is hard to give a simple answer.

> I also assume that if no data has changed in an index, nothing is done
> when the record is updated as pertains to the particular index - am I
> correct in this assumption?

No. If the update doesn't affect *any* indexed column, and there is
room in the page, it will do a HOT update and can skip all index
updates. If any indexed column is updated, it must expire the old
tuple and create a new tuple to represent the updated version of
the row, and this new tuple is not likely to land in the same page
as the old tuple; so it needs new entries in all the indexes. The
old index entries must remain until they can no longer be the
visible version of the row for any database transaction, so both
versions of the row will be on the index for a while.

-Kevin


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

Предыдущее
От: "Benjamin Krajmalnik"
Дата:
Сообщение: Schema design question as it pertains to performance
Следующее
От: "Benjamin Krajmalnik"
Дата:
Сообщение: Re: Schema design question as it pertains to performance