Re: [GENERAL] Long update query ? (also Re: [GENERAL] CNF vs. DNF) - Mailing list pgsql-general

From Bruce Momjian
Subject Re: [GENERAL] Long update query ? (also Re: [GENERAL] CNF vs. DNF)
Date
Msg-id 199810020218.WAA23299@candle.pha.pa.us
Whole thread Raw
In response to Re: [GENERAL] Long update query ? (also Re: [GENERAL] CNF vs. DNF)  ("Taral" <taral@mail.utexas.edu>)
Responses RE: [GENERAL] Long update query ? (also Re: [GENERAL] CNF vs. DNF)
List pgsql-general
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> > > Wouldn't disjunctive normal form be better, since it can be
> > implemented as
> > > the simple union of a set of small queries?
> >
> > Please tell us more.
>
> Well, I don't know how the backend processes queries, but one can imagine
> this scenario (for DNF):
>
> 1) Analyze query and set up columns in result table
> 2) Rewrite query into DNF
> 3) Split query into subqueries
> 4) For each subquery:
>   a) Process query
>   b) Append matching tuples to result table
> 5) Do any post-processing (ORDER BY, etc.)
> 6) Return result
>
> How is the processing currently done (with CNF)?

It currently convert to CNF so it can select the most restrictive
restriction and join, and use those first.  However, the CNF conversion
is a memory exploder for some queries, and we certainly need to have
another method to split up those queries into UNIONS.  I think we need
to code to identify those queries capable of being converted to UNIONS,
and do that before the query gets to the CNF section.  That would be
great, and David Hartwig has implemented a limited capability of doing
this, but we really need a general routine to do this with 100%
reliability.


--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026


pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] IN/NOT IN operators
Next
From: "Taral"
Date:
Subject: RE: [GENERAL] Long update query ? (also Re: [GENERAL] CNF vs. DNF)