Re: [SQL] problem with OR'ed AND queriess

Поиск
Список
Период
Сортировка
От Michael McCarthy
Тема Re: [SQL] problem with OR'ed AND queriess
Дата
Msg-id Pine.GSO.3.96.991221151143.9161K-100000@sanmarino.tcsi.com
обсуждение исходный текст
Ответ на Re: [SQL] problem with OR'ed AND queriess  (David C Hartwig Jr <daybee@bellatlantic.net>)
Ответы Re: [SQL] problem with OR'ed AND queriess  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
Hello David:

Thanks for the quick reply; it means a lot to me.

I tried "SET ksqo TO 'on'", and it works fine for my problem query; it
allowed 570 key sets to be resolved in 2 seconds, which is a big step
forward.

I am writing a layer which makes postgres one RDBMS (of several) which can
support a generic object persistence framework. The use of "SET ksqo TO
'on'" is a postgres implementation detail which applications using the
framework will not be aware of. I am faced with the problem of whether or
not to use "SET ksqo TO 'on'" for all queries, or find some criteria for
turning it on and off.

A quick examination of backend/optimizer/prep/prepkeyset.c shows me that
there is some qualification of a query for keyset optimization; is there
any reason why I should not always set ksqo on?

Thanks for your help!

//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
Michael McCarthy                             TCSI Corporation
michael@tcsi.com                             1080 Marina Village Parkway
(510) 749-8739                               Alameda, CA 94501

On Tue, 21 Dec 1999, David C Hartwig Jr wrote:

> There is a work around feature that works for queries that gererate a parse tree similar to yours.
> ODBC tools generate these kinds of queries all the time.    Keyset queries.   To acivate the
> feature:    SET ksqo TO 'on';    It rewrites the parse tree into a series of UNIONs.   Not optimal but
> it works for rectangular where clauses.   (n ANDs) x  (m ORs)
> 
> --   Here is an example using a 3 part key
>      select ... from foo where
>          (v1 = "?" AND v2 = "?" AND v3 ="?") OR        -- line 1
>          (v1 = "?" AND v2 = "?" AND v3 ="?") OR        -- line 2
>                  ...
>          (v1 = "?" AND v2 = "?" AND v3 ="?") OR        --  line 9
>          (v1 = "?" AND v2 = "?" AND v3 ="?");              --  line 10
>      --  The question marks are replaced with the constant key values



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

Предыдущее
От: David C Hartwig Jr
Дата:
Сообщение: Re: [SQL] problem with OR'ed AND queriess
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] problem with OR'ed AND queriess