[MySQL] 测试where group by order by的索引问题

2019-09-10 11:09:41 浏览数 (1)

1. select * from test where a=xx group by b order by c 如何加索引

CREATE TABLE `index_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `gid` int(11) NOT NULL DEFAULT '0', `age` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> select * from index_test; ---- ------------ ----- | id | name | gid | ---- ------------ ----- | 1 | taoshihan | 2 | | 2 | taoshihan1 | 2 | ---- ------------ -----

2. 加个联合索引试试

alter table index_test add index name_gid_age_index(name,gid,age);

explain select * from index_test where name='taoshihan' group by gid order by age;

0 人点赞