List:General Discussion« Previous MessageNext Message »
From:Reindl Harald Date:April 20 2012 7:50am
Subject:Re: Why does the limit use the early row lookup.
View as plain text  

Am 20.04.2012 04:29, schrieb 张志刚:
> My point is that the limit can use late row lookup: lookup rows after
> checking indexes to optimize the select speed.
> 
> But the mysql optimizer do it with the early row lookup: lookup all rows
> before checking indexes when the one fetch column is not in the indexes.
> 
> Tell me why?

because the mysql optimizer until now is really
bad in many situations - order by rand() makes a
temporary table wil ALL data as example even with limit

select * from table order by rand() limit 10;
reads and writes the whole table to disk
have fun with large tables :-)


Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
Thread
Why does the limit use the early row lookup.张志刚20 Apr
  • Re: Why does the limit use the early row lookup.Reindl Harald20 Apr
    • RE: Why does the limit use the early row lookup.Rick James20 Apr
      • Re: Why does the limit use the early row lookup.Reindl Harald20 Apr
    • Re: Why does the limit use the early row lookup.Zhangzhigang23 Apr
      • Re: Why does the limit use the early row lookup.shawn green23 Apr
        • RE: Why does the limit use the early row lookup.Rick James23 Apr
  • RE: Why does the limit use the early row lookup.Rick James23 Apr
    • RE: Why does the limit use the early row lookup.Zhangzhigang24 Apr
      • RE: Why does the limit use the early row lookup.Rick James24 Apr
Re: Why does the limit use the early row lookup.Jan Steinman25 Apr