创建表的sql语句
create table `tb_user` (
`id` varchar (100),
`name` varchar (100),
`nickname` varchar (50),
`password` varchar (60),
`status` varchar (1),
`address` varchar (100),
`createtime` datetime,
primary key(`id`)
)engine=innodb default charset=utf8mb4;
insert into `tb_user` (`id`, `name`, `nickname`, `password`, `status`, `address`, `createtime`) values('1','张三','小三','e10adc3949ba59abbe56e057f20f883e','1','北京市','2088-01-01 12:00:00'),('2','李四','小四','e10adc3949ba59abbe56e057f20f883e','1','北京市','2088-01-01 12:00:00'),('3','王五','小五','e10adc3949ba59abbe56e057f20f883e','0','北京市','2088-01-01 12:00:00'),('4','赵六','小六','e10adc3949ba59abbe56e057f20f883e','1','北京市','2088-01-01 12:00:00'),('5','任七','小七','e10adc3949ba59abbe56e057f20f883e','0','北京市','2088-01-01 12:00:00'),('6','罗八','小八','e10adc3949ba59abbe56e057f20f883e','1','北京市','2088-01-01 12:00:00');
-- 创建联合索引
create index idx_name_sta_addr on tb_user(name,status,address);
这是表索引信息。一个主键,一个复合索引(name,status,address)
这是表中数据
这里用select * 不是应该回表查询吗,为什么EXTRA的值是NUll,不应该是 Using index condition吗?
https://blog.csdn.net/xiaojie_570/article/details/82344373
你需要对关键列进行查询。
据我多年经验来看 你的SQL被MySQL优化了 发现直接查询別走索引更快。你的数据量太少了 插入一万条再看看