Mysql 查询中的结果相同或不同

Mysql 查询中的结果相同或不同,mysql,Mysql,我在遗留系统中编写了1个查询。使用MySQL 5.5 现在,随着数据的增长,下面提到的查询需要花费大量时间。 在我们的系统中,大约有200,00,000002亿行(约650 GB)的数据。 这张桌子是按照每天的时间划分的。这意味着上述查询正在从30个分区获取数据 为innodb_缓冲区_池_大小分配16GB 查询-1 SELECT * FROM ( SELECT a,b,c,d,e,f,g,h,i,j,k,l FROM TEST WHERE START_TIME between '2013-11

我在遗留系统中编写了1个查询。使用MySQL 5.5 现在,随着数据的增长,下面提到的查询需要花费大量时间。 在我们的系统中,大约有200,00,000002亿行(约650 GB)的数据。 这张桌子是按照每天的时间划分的。这意味着上述查询正在从30个分区获取数据

为innodb_缓冲区_池_大小分配16GB

查询-1

SELECT * FROM ( SELECT a,b,c,d,e,f,g,h,i,j,k,l FROM TEST WHERE START_TIME between '2013-11-14 00:00:01' and '2013-12-14 23:59:59'  ORDER BY START_TIME DESC) as TEST_DATA LIMIT 10000;
上面的查询=>意味着为1个月到执行排序之间的所有数据选择所有列,最后向最终用户显示10000条记录

现在,我的疑问是:查询-2

SELECT a,b,c,d,e,f,g,h,i,j,k,l FROM TEST WHERE START_TIME between '2013-11-14 00:00:01' and '2013-12-14 23:59:59'  ORDER BY START_TIME DESC limit 10000;
上面的查询=>从1个月的数据中选择所有列并执行排序,并在10000条记录排序后立即显示结果。没有对所有记录进行排序和缓冲

使用Query-1和Query-2->这两个查询是否会显示不同的结果集?还是一样

因为在Query-1中,我们对所有记录进行排序,然后显示10k 而在Query-2中,我们确实显示了10k个排序记录


非常感谢您的帮助。

在一小部分数据上测试这一点并不困难。使用EXPLAIN了解MySQL正在做什么。我认为两个查询的结果可能相同。让我们考虑:>创建表测试id,名称,id为PK。插入10条记录:1,'gaga',。。。10,“卡卡”;现在:从测试中选择*,其中id>2按id顺序描述限制2;从测试中选择*from Select*,其中id>2按id desc排序作为t限制2;现在,让我们假设存储在磁盘上的数据是:1,'gaga'-block 1。10,'kaka'-block 10现在,在选择:Query-1时可能会给出:bcoz Query 1将在获得id>2的2行所需结果集后立即停止,或者它会先对整个结果集4、'lala'-block 4 3、'sasa'-block 3 Query-2:10、'kaka'-block 10 9、'yaya'-block 9进行排序