Mysql 我不知道';t使用索引中最左边的前缀,为什么索引在结果中有效?

Mysql 我不知道';t使用索引中最左边的前缀,为什么索引在结果中有效?,mysql,indexing,Mysql,Indexing,这就是sql 使用test_01; 如果存在订单,则删除表格; 创建表格订单( id int自动递增主键, 姓名char(20), 价格小数(10,2)默认为0 ); 这就是解释结果 身份证件 选择类型 桌子 分割 类型 可能的\u键 钥匙 基伦 裁判 排 过滤 额外的 1. 简单的 命令 无效的 裁判 名称\价格\密钥 名称\价格\密钥 87 康斯特,康斯特 1. 100 在何处使用;使用索引 “使用索引”就是线索。这意味着SELECT中的所有列都可以在索引中找到 最左边的列位于中,其中:

这就是sql

使用test_01;
如果存在订单,则删除表格;
创建表格订单(
id int自动递增主键,
姓名char(20),
价格小数(10,2)默认为0
);
这就是解释结果

身份证件 选择类型 桌子 分割 类型 可能的\u键 钥匙 基伦 裁判 排 过滤 额外的 1. 简单的 命令 无效的 裁判 名称\价格\密钥 名称\价格\密钥 87 康斯特,康斯特 1. 100 在何处使用;使用索引 “使用索引”就是线索。这意味着
SELECT
中的所有列都可以在索引中找到

最左边的列位于
中,其中

and name = 'alisi1900001'
所以,我不明白你在问什么


中的测试顺序,其中
无关紧要;
索引中列的顺序确实很重要。
WHERE
同时过滤
name
price
,因此可以使用整个索引。另请注意“const,const”

其中price=45.80,name='alisi1900001'。。其中的列与索引名\价格\键中的列相同
and name = 'alisi1900001'