Нет, ваша индексация покроет вас.Составная индексация работает так, что она будет использоваться только последовательно в том порядке, в котором столбцы были определены вашим индексом.Например, ваш первый индекс:
t.index [:account_id, :program_id] ##Speeds up queries for accounts or 'accounts & programs'
будет работать так же, как
t.index :account_id
##Speeds up queries for accounts
, если вы только просматриваете учетные записи.Это, однако, не ускорит запросы, просто ищущие программы (будут ускорены только запросы для «учетных записей и программ»), но так как вы создали составной индекс в обратном направлении (t.index [:program_id, :account_id]
), вы также будете иметь быстрый поиск в обоих направлениях..