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
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 [table] WHERE [where] LIMIT 1;
I'm
24 matches
Mail list logo