G'morning

A function in a where equals what ?

On Wed, March 19, 2014 15:05, Morgan Tocker wrote:
> Hi Christophe,
>
>> Considering the following simple query :
>>
>> SELECT * FROM Status WHERE DWProcessed = 0 AND PreviousStatus NOT IN
>> ('PENDING', 'ACCEPTED') AND SubscribeDate < DATE_SUB(NOW(), INTERVAL 24
>> HOUR);
>>
>> Which of these filters are processed first ?
>>
>> I'd like the first filter (DWProcessed / Lowest cardinality and indexed)
>> being processed first, but I can't really find any useful information
>> about this .
>>
>> Is there any performance impact on query processing, about the order of
>> WHERE clauses ?
>
>
> When a MySQL server receives a query, it goes through a process called
> query optimization and tries to determine the best way to execute it
> (based on availability of indexes etc).  You can think of this as similar
> to how GPS software picks the fastest route - it is very similar.
>
> The order of the WHERE clause does not matter, and in fact more
> complicated transformations happen in query optimization automatically.
> For Example:
> SELECT * FROM Status WHERE 1=1 AND DWProcessed = 0;
>
> 1=1 is detected as a tautology and removed.
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>


-- 
Mogens Melander
+66 8701 33224

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to