使用in运算符会影响索引的使用吗?例如,是否有可能WHERE id IN (10)导致优化器忽略索引?
具体来说,我试图从 StackOverflow理解这个答案。问题询问为什么没有使用索引(在 MySQL 中),答案表明这可能是由于in仅使用了一个值。例如,WHERE id IN (10)可能会忽略索引,而WHERE id=10会很好。
我在 Google 上短暂浏览了一下,浏览了一些 MySQL 文档,但找不到任何in影响优化器使用索引的决定的参考。既不具有单个值,也不具有多个值。
假设这些IN值与它们正在比较的列具有相同的数据类型,它们会影响索引使用吗?
我链接到的问题是针对 MySQL,但我在其他数据库中工作,所以我很想知道这是否是关于索引的普遍注意事项,或者它是否是 MySQL 的一个怪癖。