Re: Understanding sequential versus index scans.
От | Robert James |
---|---|
Тема | Re: Understanding sequential versus index scans. |
Дата | |
Msg-id | e09785e00907191758r43a6187ja0b372a5a7547fc2@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Understanding sequential versus index scans. (Robert James <srobertjames@gmail.com>) |
Список | pgsql-general |
Is there anyway to tell Postgres "Run these two queries, and union their results, but don't change the plan as to a UNION - just run them separately"?
Something seems funny to me that running a UNION should be twice as slow as running the two queries one after the other.
On Sun, Jul 19, 2009 at 8:10 PM, Robert James <srobertjames@gmail.com> wrote:
UNION was better, but still 5 times as slow as either query done individually.set enable_seqscan=off didn't help at all - it was totally ignoredIs there anything else I can do?On Sun, Jul 19, 2009 at 7:47 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:Robert James <srobertjames@gmail.com> writes:It can use indexes for OR conditions, but not for arbitrary OR
> Hi. I notice that when I do a WHERE x, Postgres uses an index, and when I
> do WHERE y, it does so as well, but when I do WHERE x OR y, it
> doesn't.
conditions...... and that one is pretty arbitrary. You might have some luck with
> select * from dict
> where
> word in (select substr('moon', 0, generate_series(3,length('moon')))) --
> this is my X above
> OR word like 'moon%' -- this is my Y above
using a UNION instead, viz
select * from dict where X
union all
select * from dict where Y
regards, tom lane
В списке pgsql-general по дате отправления: