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

Поиск
Список
Период
Сортировка
От Dmitry E. Oboukhov
Тема А что почитать про индексы?
Дата
Msg-id 20111111210556.GB1275@apache.rbscorp.ru
обсуждение исходный текст
Список 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@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Вложения

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

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Re: Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?
Следующее
От: Dmitriy Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] А что почитать про индексы?