# 组合索引 Goods 表结构如下: ```sql create table goods( id int primary key auto_increment, category_id int, category varchar(64), name varchar(256), price decimal(12, 4), stock int, upper_time timestamp ) ``` 现有大量查询 `select id, category_id, name, price, stock from goods where stock=? and category_id=? and name like ?`, Joe 应该如何优化?
点击进入[MySQL实战练习环境](https://mydev.csdn.net/product/pod/new?image=cimg-centos7-skilltreemysql&connect=auto&create=auto&utm_source=skill){target="_blank"}。 * `show databases;` 列出所有数据库 * `show tables;` 列出所有表 ## 答案 ```sql alter table goods add index (`stock-id`, category_id, name); ``` ## 选项 ### A ```sql alter table goods add index (`stock-id` and category_id and name); ``` ### B ```sql alter table goods add index (concat(stock, category_id, name)); ``` ### C ```sql alter table goods add index (`stock-id` + category_id + name); ```