🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
1. **未使用索引中的第一个列:** 组合索引的列顺序很重要,如果查询条件没有使用索引中的第一个列,那么该组合索引将失效。例如,如果组合索引是(column1, column2),但查询条件只涉及到了column2,那么该组合索引将无法使用。 2. **使用不匹配的前缀:** 如果查询条件只使用了组合索引的一部分列作为前缀,而不是从索引的开头开始匹配,那么该组合索引也会失效。组合索引的列顺序应该与查询条件的列顺序一致 3. **范围查询和排序:** 当查询中包含范围查询(例如大于、小于等)或排序操作,并且这些操作涉及组合索引的后面列时,组合索引可能失效。在这种情况下,只有组合索引的前面列被用于精确匹配时才会生效。 - 组合索引的后面列的顺序并不适合快速定位和过滤数据 - 数据范围越大,使用大于(>)、大于等于(>=)、小于(<)或小于等于(<=)等比较运算符的查询效率通常会更低(如果数据分布不均匀,可能会导致索引的选择性下降,进而降低索引的效率。这通常发生在数据重复值较多的情况下)