Re: DB Query
| From: | Curt Zirzow | Date: | Sat, 05 Jun 2004 20:05:29 +0000 |
| Subject: | Re: DB Query | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-187706@lists.php.net to get a copy of this message | ||
* Thus wrote bskolb (php@bskolb.com):
> I'm trying to optimize a query that in the first example is taking too long
> to run.
>
> This is my existing working query:
> $sql = "SELECT count(*) as cnt, id FROM
mYTable WHERE c1
> not in (1,16,36)
> and c2 not in (1,16,36) and c3 not in (1,16,36) and c4 not in (1,16,36) and
> c5 not in (1,16,36) GROUP BY id";
>
> Is it possible to do something like this instead (This doesn't work of
> course)
> $sql = "SELECT count(*) as cnt, id FROM myTable WHERE
> (c1,c2,c3,c4,c5)
> not in (1,16,36) GROUP BY id";
>
> Any other suggestions are appreciated,
No matter what you do either a 'not in ()' or '<>', mysql is going to
have to do a table scan for all the records.
Curt
--
"I used to think I was indecisive, but now I'm not so sure."