Как правило, вам нужны индексы в столбцах, которые вы будете использовать при выполнении запросов.
Если вы сделаете MovieComment.find(10)
, база данных будет использовать индекс в поле id
, которое Rails добавит автоматическидля тебя.То же самое, если вы сделаете Comment.find(30)
: Rails получит комментарий с id
30, используя индекс, затем прочитает столбец type
и вернет MovieComment
или MagazineComment
.
Например, если вы собираетесь добавить функцию для поиска по названию, вам нужно будет также создать индекс в этом столбце.В этом случае, вероятно, индекс : fulltext .
Индекс в столбце type
сделает запрос как MagazineComment.all
быстрее, поскольку он эквивалентен Comment.where(type: 'MagazineComment').all
, но этовероятно не стоит.