Vern
Vern

Reputation: 75

mysql limit - a general question

Assuming the query

SELECT * FROM table WHERE a='1' and b='2' and c>'3' and d>'4' and e!='5' and f='6'

returns 10000 results.

My question is, let's say I limit the search to the first 10 results like this:

SELECT * FROM table WHERE a='1' and b='2' and c>'3' and d>'4' and e!='5' and f='6' LIMIT 10

Will mysql search through all the 10000 results or it will stop at the 10th result?

Upvotes: 1

Views: 121

Answers (2)

Justin K
Justin K

Reputation: 2694

Since there is no ORDER BY, it will stop at the 10th result (after going through as many non-matching rows as necessary). As OMG Ponies says, which 10 rows you get is unspecified.

Upvotes: 0

OMG Ponies
OMG Ponies

Reputation: 332551

LIMIT will only display the rows specified, based on their position within the resultset. Without an ORDER BY, you're relying on the order the records were inserted.

You'll probably be interested to read about MySQL's ORDER BY/LIMIT performance...

Upvotes: 2

Related Questions