Признавая, что ответ на мой вопрос правильный - это имеет значение для индексации столбцов _id с высокой мощностью и столбцов _type с низкой мощностью, потому что вместе они имеют высокую мощность - мой следующий вопрос: как вы должны упорядочить свое соединение индексы?
Индекс [owner_id, owner_type] помещает поле с более высокой мощностью на первое место, а [owner_type, owner_id] помещает поле с более высокой мощностью на второе место. Является ли запрос, использующий первый ключ, более производительным, чем запрос, использующий последний ключ, или они одинаково эффективны?
Я спрашиваю, потому что это имеет особое отношение к тому, как я буду заказывать составные ключи для таблиц, обслуживающих модели STI. Поисковики STI Rails почти всегда запрашивают столбец типа, который, как правило, имеет низкую мощность. Поэтому столбец типа запрашивается гораздо чаще, чем другие индексы. Если столбец типа запрашивается гораздо чаще, тогда, возможно, имеет смысл использовать ведущий по типу индекс, потому что менее конкретные запросы могут использовать преимущества первой части индекса, что приведет к повышению производительности. Тем не менее, я бы не стал уменьшать привилегию, чтобы нанести ущерб производительности узкоспециализированным запросам. которые используют часть индекса с более высокой мощностью.