如果我在 (a, b) 上有一个复合索引,我了解仅与“a”相关的查询仍将使用复合索引(但不与“b”相关的查询)
我的问题是,如果我有 (a, b) 索引,是否有任何正当理由在“a”上有一个单列索引?关于 (a,b) 索引是完全替代 a 还是仅仅是“聊胜于无”的索引,我所读到的内容似乎含糊不清。
这假设我同时按 a 和 a,b 进行过滤。我有一个表有太多的索引,这会损害写入性能,并且想要在删除索引之前仔细检查,我只是相当确定这些索引没有任何好处。
另外,这个答案是否会根据我使用的是 InnoDb 还是 MyISAM 而改变?涉及的表是 MyISAM,但我们的大多数表都是 InnoDb。