IIRC, эмпирическое правило заключается в том, что указатель может использоваться только для поиска, в котором используются все столбцы из некоторой точки и слева. Например, индекс по столбцам (a, b, c, d) можно использовать, если вы выполняете запрос к (a), (a, b), (a, b, c) или (a, b, c, d) но не на (a, c), например.
Это результат построения индексов; крайний левый столбец индексируется, затем для каждого значения этого столбца создается индекс для следующего столбца и т. д.
Редактировать: как указывает BQ, СУБД может сканировать полную часть индекса * a
и выполнить поиск в части b
(я не знала, что это было фактически сделано). Однако это не так быстро, как индекс, который может использовать правило, как описано выше (OTOH может быть быстрее, чем полное сканирование таблицы).
Лично я не думаю, что это нужно намеренно использовать. Если для определенного запроса достаточно ответа perf, который вы рассматриваете, какие индексы необходимы, вы могли бы также дать ему правильные.