Какой индекс построить?

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

Responses

Browse pgsql-ru-general by date

  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 июля