Search code examples
mysqlsqlsql-order-bysql-limit

How does MySQL process ORDER BY and LIMIT in a query?


I have a query that looks like this:

SELECT article FROM table1 ORDER BY publish_date LIMIT 20

How does ORDER BY work? Will it order all records, then get the first 20, or will it get 20 records and order them by the publish_date field?

If it's the last one, you're not guaranteed to really get the most recent 20 articles.


Solution

  • It will order first, then get the first 20. A database will also process anything in the WHERE clause before ORDER BY.