【发布时间】:2020-05-16 07:37:52
【问题描述】:
我的表架构如下所示:
create table myTable (
id int(11) not null auto_increment,
name varchar(255) not null,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=894609724 DEFAULT CHARSET=utf8;
总行数不超过 500。id < 894609000 的行被删除。并且不存在于表中
当我这样做时:SELECT * FROM myTable ORDER BY id DESC LIMIT 100; 它的响应时间是 50 毫秒。
但是当我这样做时:SELECT * FROM myTable ORDER BY id ASC LIMIT 100; 它的响应时间是 10 秒。比逆序查询慢 200 倍。
谁能告诉我为什么会出现这种行为?
【问题讨论】:
-
你能同时显示
EXPLAIN {query}吗?哪个 MySQL 版本? -
@danblack 我已经编辑了问题。
-
@Strawberry 已修改
-
但没有回答任何一个问题。
-
@danblack 回答了你的两个问题
标签: mysql sql-order-by innodb sql-delete