首页 > 解决方案 > 在 MySQL 中,当我的 where 子句中有“in”条件时,我可以使用索引吗?

问题描述

鉴于此查询;

select my_field1
from my_table
where my_field2 in ('five', 'six')

如果我在 my_field2 上有一个索引,它就不会被使用。有没有办法优化它以利用我的索引?

标签: mysqlindexing

解决方案


当“基数”较低时,优化器会选择忽略索引。这是因为简单地扫描整个表可能比在INDEX'sBTree 和数据 BTree 之间来回跳动更快。


推荐阅读