![]() |
1
1
文档中提到的优化通常只有在
如果列没有索引,引擎通常需要获取所有行,对它们排序,然后返回前20行。
了解它如何与
如果
如果
如果两列都没有索引,它将执行完整的表扫描以测试
|
![]() |
2
1
这实际上是MySQL中非常明智的优化。如果您使用limit返回20行,而mysql知道它已经找到了它们,那么为什么mysql(或您)会关心其余记录的排序方式呢?这无关紧要,因此MySQL停止对其余行进行排序。 如果order by是在索引列上完成的,那么mysql可以很快地分辨出是否找到了前n条记录。 |
|
user9630128 · 如何按升序LINQ对列表排序 7 年前 |
![]() |
Calflamesfann · 如何为每个不同的代码值选择不同的项目 7 年前 |
![]() |
Pablo DelaNoche · 按案例排序时语句/多个 7 年前 |
![]() |
Andrew · 如何根据字母排序顺序设置int值 7 年前 |
![]() |
nasic · SQL order by找不到解决方案 7 年前 |
![]() |
Shawn · 分组依据之外的按列排序 7 年前 |
![]() |
Simsar78 · SQL选择GROUP BY并使用特定值联接行 7 年前 |