偶然看到了一个题目: 给定 yfd_interviewer 数据库表结构如下:
CREATE TABLE `yfd_interviewer` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(32) NOT NULL DEFAULT '',
`age` INT(11) NOT NULL,
`createdTime` BIGINT(20) NOT NULL,
`updatedTime` BIGINT(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `name_index` (`name`),
KEY `age_index` (`age`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
给定以下 SQL:
S1: SELECT * FROM `yfd_interviewer` WHERE name = ‘ kebi ’;
S2: SELECT * FROM `yfd_interviewer` WHERE age = 20;
S3: SELECT * FROM `yfd_interviewer` WHERE name = ‘ kenan ’ AND age = 20;
S4: SELECT * FROM `yfd_interviewer` WHERE age = 20 AND name = ‘ kenan ’;
以下关于索引使用描述不正确的是哪个?
答案是 D,但是我不太明白,这个表里面 name 和 age 都是单列索引,虽然 S4 age 在前,SQL 在执行查询优化的时候会根据字段的顺序,优先选择 name 索引?谢谢大家
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.