InnoDB и дата к тому, что удобно было бы разбить на партиции таблицу, чтобы каждая часть хранила бы например только месяц, тогда запрос бы шел в рамках данных за месяц, а не всей своры.
С дубликатами да, надо бороться, как только зависит от ваших данных.
Ну и ТОП50 storecrowd.com/blog/top-50-ruby-on-rails-websites/