state 类型为 int 时候, 索引失效吗
select * where state = '1'
不失效,因为转换在查询条件上
state 类型为 String 时候, 索引失效吗
select * where state = 1
失效
等同于是 CAST(state AS signed int) = 1
代表在索引字段上做了函数操作,和like 一样破坏了索引值的有效性,优化器自然不会选择走索引功能。