Индексы БД для использования для нескольких комбинаций запросов с одним и тем же набором столбцов?

Мне нужен совет о том, как продумать минимальное количество индексов, необходимое для таблицы, в которой вы выполняете различные комбинации запросов к одному и тому же набору столбцов. В идеале, ваш ответ должен абстрагировать некоторые практические правила из этого конкретного примера (если это возможно).

Этот маркированный список представляет три различных условия запроса, обычно выполняемых для моей таблицы:

  • WHERE race_type =? И recordable_type =? И активный =?
  • ГДЕ race_type =? И recordable_id =? И recordable_type =? И активный =?
  • ГДЕ user_id =? И race_type =? И recordable_id =? И recordable_type =? AND active =?

Примечание: user_id (int), race_type (varchar), recordable_id (int), recordable_type (varchar), active (boolean)

Я мог бы создать индивидуальные многоколоночные индексы для каждого из них, но вы, эксперты по производительности БД, можете подойти к этому иначе.

Если мне нужно предоставить дополнительную информацию, чтобы получить лучший ответ, пожалуйста, дайте мне знать.

5
задан keruilin 22 October 2011 в 15:50
поделиться