Am 11.07.2012 11:43, schrieb Ewen Fortune:
> Hi,
> 
> On Wed, Jul 11, 2012 at 10:31 AM, Reindl Harald <h.rei...@thelounge.net> 
> wrote:
>> the mysql query optimizer is somehow stupid
> 
> Its not stupid - remember its not trying to find the best index,
> rather its trying to find the least costly plan
> to return the data in the quickest manner.
> 
> For the optimizer in this case it believes its faster to do a full
> table scan with filesort rather than read from the index
> and have to scan the entire table anyway.
> 
> Quick test shows it is indeed faster to do a full table scan.
> 
> mysql> show profiles;
> +----------+------------+------------------------------------------------------------------------------------------+
> | Query_ID | Duration   | Query
>                                             |
> +----------+------------+------------------------------------------------------------------------------------------+
> |        1 | 0.32261700 | SELECT SQL_NO_CACHE * FROM
> cms1_quickbar_groups force key (qbq_key) ORDER BY qg_sort ASC |
> |        2 | 0.24592100 | SELECT SQL_NO_CACHE * FROM
> cms1_quickbar_groups ORDER BY qg_sort ASC                     |
> +----------+------------+------------------------------------------------------------------------------------------+
> 2 rows in set (0.00 sec)

this may be true for small data where it does not matter at all
but if this would be a large table it would cause a lot of I/O

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to