Afaik Rails не заботится об индексах в базах данных.Оптимизация запросов на основе индексов в Rails отсутствует.Если вы выполняете сортировку или фильтрацию по столбцу (особенно в больших таблицах), полезно добавить индексы.Это помогает вашему серверу баз данных выполнять эти операции более эффективно.
Однако лучший подход для добавления индекса состоит в том, чтобы Rails делал это с помощью миграций, а не вручную.Это может быть, если SQL-код также отрублен.Это гарантирует, что индекс существует на всех средах и серверах.
Почему в Rails это занимает много времени, я понятия не имею.Но вы можете запустить SQL в процессе миграции:
def up
execute "ALTER TABLE orders ADD UNIQUE ordering_date_ndx (ordering_date)"
end
Я не знаю о синтаксисе MS SQL, но, думаю, его можно адаптировать.