Torsten Curdt dijo:
> Antonio Gallardo wrote:
>> Torsten Curdt dijo:
>>
>>>>WHAT IS WRONG?
>>>>
>>>>In example A all is OK.
>>>>
>>>>In example B we are not using the power of the Database Manager.
>>>>
>>>>WHY?
>>>>
>>>>The LIMIT clause was designed to tell the database engine:
>>>>
>>>>"Let find just X rows", then the database engine when it got the X
>>>> rows stop searching and return the X rows. It improves the response
>>>> time, since does not to continue searching!
>>>>
>>>>Now think in a 10 million row table and YOU KNOW you need only 5
>>>> rows!
>>>
>>>whether 10 million rows or not - the current sollution will only ask
>>> for
>>> 6 - one additional row. Is that the time penalty you are talking
>>> about?
>>
>>
>> Yes, because you already know that there are only 5 rows for every
>> register. Then the database will search the last 6th row that no
>> exist. Forcing to searh in the ENTIRE table.
>
> No - why do you think the database searches the entire table?!?
> ...this is just a restriction on the resultset!
> --
> Torsten

Because in the table with 10 millions are ONLY 5 rows that meet your WHERE
clausule. you know that because this is a design issue.

But setting "LIMIT 6" force the database to search the 6th row that you
know does not exist. Then the question is:

What do the database to try to find the 6th row?

I think the answer is: scan the rest of the database after finding the
ONLY 5 rows that already exist.





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to