On 7/15/07, Tai Lee <[EMAIL PROTECTED]> wrote:
>
> I'd rather petition the PostgreSQL developers to optimise count(*) and
> suggest Django users implement their own changes or workaround in the
> meantime if they're working with large datasets where count(*) is a
> serious performance penalty.
Th
I'm also +1 __nonezero__ -1 .exists(). Using .count() already gives us
the required functionality and makes logical sense, the only question
then is how big of a performance gain do we get by using SELECT 1
LIMIT 1.
SELECT 1 FROM [table] LIMIT 1 also feels kinda hackish to me, and I'm
guessing it
On 7/14/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote:
> > I'd like to add a QuerySet.exists() method, which would return True or
> > False if the given QuerySet contains at least one record. This would
> > be more efficient than qs.c
Although Oracle doesn't have LIMIT, it does have ROWNUM which
basically acts as a counter.
So I think you should do:
SELECT 1 FROM [table] WHERE [where] AND ROWNUM <= 1;
When there are JOINS you probably have to put the original SELECT in a
subquery of the ROWNUM <= 1 query.
More info about ROWN
2007/7/14, Gary Wilson <[EMAIL PROTECTED]>:
>
> James Bennett wrote:
> > On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> >> I'm biased, because I have an immediate need for this in a project,
> >> but this seems general and useful enough for inclusion in QuerySet.
> >
> > Implementing the
On Sat, 2007-07-14 at 13:31 +1000, Malcolm Tredinnick wrote:
> On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote:
> > I'd like to add a QuerySet.exists() method, which would return True or
> > False if the given QuerySet contains at least one record.
[...]
> I'm +0.
>
> __nonzero__ needs
On Sat, 2007-07-14 at 00:56 -0400, Leo Soto M. wrote:
> On 7/13/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote:
>
> [...]
> > Due to Oracle inclusion, this has to be
> >
> > select count(*) from [table] where [...]
> >
> > and then check that the result is > 0, at least in the Oracle ba
James Bennett wrote:
> On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>> I'm biased, because I have an immediate need for this in a project,
>> but this seems general and useful enough for inclusion in QuerySet.
>
> Implementing the check in __nonzero__ and having people test by doing
> '
On 7/13/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote:
[...]
> Due to Oracle inclusion, this has to be
>
> select count(*) from [table] where [...]
>
> and then check that the result is > 0, at least in the Oracle backend
> (no "limit" extension in Oracle). The problem being that count
On Fri, 2007-07-13 at 21:56 -0600, Ian Kelly wrote:
> > By the way, for all database backends except SQLite, you can implement
> > all of this sort of stuff (including exists and __len__) fairly fast
> > using cursor.rowcount (the number of rows in the result set).
> > Unfortunately, SQLite always
> By the way, for all database backends except SQLite, you can implement
> all of this sort of stuff (including exists and __len__) fairly fast
> using cursor.rowcount (the number of rows in the result set).
> Unfortunately, SQLite always returns -1 for rowcount. I'm building a few
> of those opti
On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote:
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL unde
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> I'm biased, because I have an immediate need for this in a project,
> but this seems general and useful enough for inclusion in QuerySet.
Implementing the check in __nonzero__ and having people test by doing
'if some_queryset' or 'if not so
+1 on both. I was needing this just the other day.
Michael
On 7/13/07, Brian Harring <[EMAIL PROTECTED]> wrote:
>
> On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> > On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> > > Adrian, I think it's useful enough. But why do you need a .exis
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> > Adrian, I think it's useful enough. But why do you need a .exists() if
> > we could just use __nonzero__ (like Ivan suggested)?
>
> I hadn't thought of that! Yes, we should definitely im
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> Yes, we should definitely implement a
> QuerySet.__nonzero__() method. However, I'd like there to be an
> explicit method (named either exists() or any() or whatever), because
[snip]
Agreed -- I'm +0 on .exists() and __nonzero__() being an
On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> Adrian, I think it's useful enough. But why do you need a .exists() if
> we could just use __nonzero__ (like Ivan suggested)?
I hadn't thought of that! Yes, we should definitely implement a
QuerySet.__nonzero__() method. However, I'd like there
On Jul 14, 9:55 am, Ivan Sagalaev <[EMAIL PROTECTED]> wrote:
> Adrian Holovaty wrote:
> > I'd like to add a QuerySet.exists() method, which would return True or
> > False if the given QuerySet contains at least one record. This would
> > be more efficient than qs.count() or len(qs) because it wo
Adrian Holovaty wrote:
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL under the hood:
>
> SELECT 1 FROM
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL under
Why not QuerySet.isEmpty() ?
Adrian Holovaty a écrit :
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL under
On 7/13/07, Tom Tobin <[EMAIL PROTECTED]> wrote:
> +0; seems like a reasonable addition. I wonder of "any" might be a
> better method name (along the lines of the Python 2.5 built-in
> function), but either name would be fine IMHO.
Err, I wonder *if*. ::sigh:: :-)
--~--~-~--~~
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL under
23 matches
Mail list logo