首页 > 试题广场 >

在MySQL InnoDB中,对于以下表结构和查询:CREA

[单选题]
在MySQL InnoDB中,对于以下表结构和查询:
CREATE TABLE orders (
id INT PRIMARY KEY,
user_id INT,
amount DECIMAL(10,2),
created_at DATETIME,
INDEX idx_user_created (user_id, created_at)
);
SELECT user_id, created_at, amount
FROM orders
WHERE user_id = 100 AND created_at > '2024-01-01'
ORDER BY created_at DESC;
关于该查询的索引使用,以下说法正确的是:
  • 需要回表查询,因为amount列不在索引中
  • 可以使用覆盖索引,无需回表
  • 索引只能用于user_id条件,created_at条件需要在回表后过滤
  • ORDER BY会导致filesort,因为索引是升序而查询要求降序

这道题你会答吗?花几分钟告诉大家答案吧!