У меня есть метрическая таблица, которая, как я ожидаю, будет очень большой.Он имеет полиморфную ассоциацию, так что он может принадлежать другим моделям, которые хотят записать некоторую метрику.Я обычно индексирую столбцы ассоциации, как это, чтобы ускорить загрузку ассоциации. Я слышал, как люди говорили о совместной индексации этой ассоциации .Это выглядит так:
add_index :comments, [:commentable_type, :commentable_id]
Но я также слышал совет против создания индексов с низким количеством элементов , потому что отдача индекса не компенсируетсянакладные расходы на его содержание.Поскольку половина _type моей полиморфной ассоциации, вероятно, будет иметь только 4-5 значений в миллионах строк, я склонен индексировать только часть _id полиморфной ассоциации.Я, вероятно, создам несколько дополнительных индексов соединений, используя столбец _id и некоторые другие безымянные столбцы целого числа и даты и времени, но я также не буду включать _type в эти индексы.
Это то, что вы хотели бы сделать / рекомендовать?