Re: Index and primary key

Поиск
Список
Период
Сортировка
От Andrew McMillan
Тема Re: Index and primary key
Дата
Msg-id 3B6E5F91.4F4B3AD8@catalyst.net.nz
обсуждение исходный текст
Ответ на Index and primary key  (Gaetan GUYODO <gaetan.guyodo@lrb.ap-hop-paris.fr>)
Список pgsql-novice
Gaetan GUYODO wrote:
>
> Hi,
> I have one question :
> I have a table, with 12 fields, and 70000 records (not more, that's a
> thesaurus)
> I will have to make a "select" only on one or two fields.
> I have no index on this table.
> And primary key is a field containing a five digit number (unique, not null),
> which is an important information of the record (I made this field "primary
> key" because I'm sure that it will be unique).
>
> Do you think this conception is a good one ?
> Maybe, I have to use one of the fields on which I will make a select as
> primary key ?
> Maybe I have to add an index field ? (if I understand, that's better-faster
> to extract a record, but isn't my "primary key" 5 digit code similar ?

If you intend to get one, or few, records back as a result of your select, you
should probably have an index on the most selective value you can that will be used
in the 'where' clause.

Given the (apparently) low frequency of updates, I would tend to say index as many
fields as you like.  Indexes are a performance negative if you are doing lots of
inserts and updates, although if you add _lots_ of indexes no doubt they impact on
the planning time to some degree.

If you intend to process the whole table at each select, then an index will offer
little value, and PostgreSQL will usually ignore it in any case.

Once you have populated your table, added your indexes and run a "VACUUM ANALYZE"
then PostgreSQL will make reasonable attempts to plan your query to use the most
efficient mix of index access vs scan access using the statistics it got from the
analysis.

Regards,
                    Andrew.
--
_____________________________________________________________________
        Andrew McMillan, e-mail: Andrew @ catalyst . net . nz
Catalyst IT Ltd, PO Box 10-225, Level 22, 105 The Terrace, Wellington
Me: +64(27)246-7091, Fax:+64(4)499-5596, Office: +64(4)499-2267xtn709

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

Предыдущее
От: Gaetan GUYODO
Дата:
Сообщение: Index and primary key
Следующее
От: Il Paolone
Дата:
Сообщение: restoring a 7.1 dump on a 6.5.x postgresql