Есть, конечно, случаи, когда имеет смысл иметь оба индекса (A,B,C,D)
и (A,B,Y,Z)
. Если вы предполагаете, что A & B - это часто используемые столбцы, которые не слишком избирательны, в то время как комбинация C & D или Y & Z более избирательна, но используется реже. Или в случаях, когда A & B являются выборочными, но полезно иметь индекс покрытия для определенных запросов, которые также выбирают либо C & D, либо Y & Z. Или даже случаи, когда оба значения (A,B,C,D)
и (A,B,Y,Z)
должны быть уникальный. Вы могли бы даже придумать случаи, когда было бы целесообразно иметь третий индекс на (A,B)
, потому что вы хотите сделать сканирование диапазона индексов для запросов, которые просто указывают A & B как можно более эффективными. Но это, как правило, необычные случаи.
Я не уверен, что следую вашей точке зрения по поводу возможности сопоставлять индексы. Я не знаком ни с одним механизмом базы данных, который позволял бы нескольким индексам использовать одну и ту же структуру индексов, если это то, что вы предлагаете.