| From: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
|---|---|
| To: | pgsql-ru-general(at)postgresql(dot)org |
| Subject: | Какой индекс построить? |
| Date: | 2015-08-02 08:51:00 |
| Message-ID: | 20150802085100.GC32130@vdsl.uvw.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-ru-general |
SELECT
*
FROM
table
WHERE
("col1" IN (1,2,3) OR "col2" IN (3,4,5))
AND add_condition(blah)
;
таблица большая. в условии индекса add_condition(blah)
Если строить индекс по
col1, col2 WHERE add_condition(blah)
То получается перебор col2
если наоборот - то опять перебор col1
перебора не получается только если WITH/UNION секцию юзать и два индекса.
в два запроса:
SELECT
*
FROM
table
WHERE
col1 IN (1, 2, 3)
AND add_condition(blah)
и второй запрос
SELECT
*
FROM
table
WHERE
col2 IN (3,4,5)
AND col1 NOT IN (1,2,3)
AND add_condition(blah)
а можно как-то одним индесом сыграть?
--
. ''`. 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nikolay Samokhvalov | 2015-08-02 10:36:11 | Re: [pgsql-ru-general] Какой индекс построить? |
| Previous Message | Nikolay Samokhvalov | 2015-07-12 19:42:18 | #PostgreSQLRussia в Санкт-Петербурге 17 июля |