[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1081484 - in /subversion/trunk/subversion/libsvn_wc: wc-queries.sql wc_db.c

From: Greg Stein <gstein_at_gmail.com>
Date: Mon, 28 Mar 2011 07:49:22 -0400

On Mar 28, 2011 7:41 AM, "Greg Stein" <gstein_at_gmail.com> wrote:
>
>
> On Mar 28, 2011 7:32 AM, "Stefan Sperling" <stsp_at_elego.de> wrote:
> >
> > On Sat, Mar 26, 2011 at 09:46:48AM -0400, Greg Stein wrote:
> > > If it only needs to detect a single row, then LIMIT 1 should be in the
> > > query.
> >
> > Is there really a significant difference between LIMIT 1 and not
stepping
> > through more than one result row?
> >
> > I'd rather keep the queries reusable for contexts where a complete
> > list of modified nodes is required, instead of adding COUNT() (as
> > suggested elsewhere) or LIMIT 1.
>
> Think about how the query optimizer/planner would work. Consider whether a
result set needs to be constructed.
>
> ... a LIMIT 1 provides a ton of help to the SQL engine about what needs to
be fetched (or not).
>
> There is also a semantic element to it. Readers of the code will see that
you're looking for basic presence rather than a set of results.
>
> If/when you need a query containing the set of nodes with mods, then you
can consider another query. Until that time, the LIMIT is helpful/best.
>
> Cheers,
> -g

In fact, you can switch from selecting local_relpath to a simple 1:

--STMT_ANY_NODES_WITH_PROP_MODS
SELECT 1 FROM ...

(note stmt name change, too)

Cheers,
-g
Received on 2011-03-28 13:49:53 CEST

This is an archived mail posted to the Subversion Dev mailing list.