我希望从1百万行的表中获取最后10行。
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`updated_date` datetime NOT NULL,
PRIMARY KEY (`id`)
)
有一种做法是 -
select * from test order by -id limit 10;
**10 rows in set (0.14 sec)**
另一种方法是 -
select * from test order by id desc limit 10;
**10 rows in set (0.00 sec)**
所以我对这些查询进行了'EXPLAIN' -
这是使用'order by desc'查询的结果
EXPLAIN select * from test order by id desc limit 10;
下面是使用'order by -id'查询的结果。
EXPLAIN select * from test order by -id limit 10;
我原本以为这两个是一样的,但似乎执行计划有所不同。