数据库如何实现SQL’ORDER BY x’?

我想知道这些是如何工作的,特别是对于大型结果集.例如,DB是否可能将原始结果写入磁盘然后进行外部排序?

我也想知道如何使用LIMIT … OFFSET.如果数据库无法利用现有索引,则DB似乎必须对整个事物进行排序并采集原始结果集的子集.

解决方法

索引是订购的;如果有合适的索引,将使用.否则,他们需要按照你的想法进行排序.查询的执行计划(您可以通过例如 EXPLAIN或通过 client menus获得;获取它的确切方法因DBMS而异)可能包含有关如何对查询进行排序的提示.

看到:

> MySQL: ORDER BY Optimization
> PostgreSQL: Indexes and ORDER BY
> SQL Server Indexes
> Oracle: Understanding Indexes

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...