数据库
首页 > 数据库> > 在MySQL查询中执行ORDER BY和LIMIT的顺序

在MySQL查询中执行ORDER BY和LIMIT的顺序

作者:互联网

我有这样的查询,我想以分页格式显示已排序的记录.

这是我的查询.

SELECT * FROM answers
WHERE userid = '10'
ORDER BY votes LIMIT 10, 20

LIMIT的两个参数将用于生成记录的逐页显示.现在,我的问题是ORDER BY. MySQL如何执行此查询?

第一路

>根据过滤器选择记录
>排序他们
>限制他们

第二种方式

>根据过滤器选择记录
>限制他们
>排序他们

如果我认为像MySQL引擎,我会想要实现第二,因为我将不得不排序较少的记录?

有人可以对此有所了解吗?

问候

解决方法:

SQL LIMIT将在所有数据库中始终处理查询结果,因此它将使用ORDER BY运行查询,然后该结果将受到限制.这是一个功能需求,数据库不需要像这样执行它.

因此第一种方式.

标签:mysql,sql-order-by,limit,sql-execution-plan
来源: https://codeday.me/bug/20190827/1738932.html