首页 > 试题广场 >

Mysql中表user的建表语句如下,CREATE TABL

[单选题]
Mysql中表user的建表语句如下,
CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键Id',
  `name` varchar(255) DEFAULT NULL COMMENT '名称',
  `age` int(11) DEFAULT NULL COMMENT '年龄',
  `address` varchar(255) DEFAULT NULL COMMENT '地址',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updated_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_com1` (`name`,`age`,`address`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
以下哪个查询语句没有使用到索引idx_com1?
  • select  *  from user where name='张三' and age = 25 and address='北京大兴区';
  • select  *  from user where name='张三' and address='北京大兴区';
  • select  *  from user where age = 25 and address='北京大兴区';
  • select  *  from user where address='北京大兴区'  and age = 25 and name='张三'
最左匹配原则
发表于 2020-08-28 20:56:01 回复(0)
此题考查联合索引,`idx_com1` (`name`,`age`,`address`)此为索引,`idx_com1` (`name`),`idx_com1` (`age`),`idx_com1` (`adtress`),A选项索引都用到了,B用到了name,C没有按照key的顺序来,第一个name索引缺失,从而后面都用不到索引,D选项等同于A,都用到了索引
发表于 2020-06-26 19:15:28 回复(0)