А что почитать про индексы?

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: А что почитать про индексы?
Date: 2011-11-11 21:05:56
Message-ID: 20111111210556.GB1275@apache.rbscorp.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

собственно сабж про постгрис.

ну и вопросики:

1. имеем табличку

| id | col1 | col2 | col3 | ...

далее имеем раздельне индексы по col1, col2, col7

делаем выборку

SELECT
*
FROM
table
WHERE
col1 = 'abc'
AND col7 = 'cde'
AND col2 = 'fgh'

Вопрос будут ли использоваться в такой выборке все три индекса или
(как в MySQL) обязательно делать составной?

2. Имеется таблица с текстовым полем

| id | keyword | col1 | col2 | ...

keyword вообще говоря уникален, но не суть.

нужен поиск вида

WHERE
keyword like 'что-то%';

Но таблица несколько сот миллионов строк.

какой индекс лучше построить в данном случае?

можно ли построить несколько частичных индексов чтобы Pg автоматом
использовал тот который больше подходит? будет ли иметь это смысл?

то есть если я построю 26 индексов вида

CREATE UNIQUE INDEX "name_a" ON "table" ("keyword")
WHERE "keyword" like 'a%';
CREATE UNIQUE INDEX "name_b" ON "table" ("keyword")
WHERE "keyword" like 'b%';
...

будет ли профит по использованию памяти/итп в таком случае или
наоборот будет больше оверхеда?
--

. ''`. Dmitry E. Oboukhov
: :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-11-12 08:12:59 Re: [pgsql-ru-general] А что почитать про индексы?
Previous Message Dmitry E. Oboukhov 2011-10-31 11:05:08 Re: Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?