MySQL强制索引不起作用

Eyt*_*tan 3 mysql indexing

我在相对较小的表(~5000行)之间运行一个简单的左连接查询:

select *
from table1
left join table2 
force index (index_table2_on_name) for join 
on table1.name = table2.name
Run Code Online (Sandbox Code Playgroud)

index_table2_on_name存在,但Mysql拒绝使用它.对查询运行说明返回:select_type = SIMPLE,两个表的type = ALL和possible_keys = NULL.

任何的想法?

Eyt*_*tan 7

发现了问题.看来table1.name和table2.name定义了不同的字符集.Mysql忽略索引而不是使用转换是很奇怪的.