Аналогично find_by_sql вы можете использовать count_by_sql :
User.count_by_sql(["SELECT COUNT(*) FROM users u WHERE u.email = ?", params[:email]]) > 0
Не забудьте также использовать здесь синтаксис ["... ? ...", var]
для защиты от SQL-инъекций.
Однако я сомневаюсь, что благодаря этому вы сможете добиться значительного улучшения производительности.Попробуй это.Если это не быстрее, оставайтесь с версией ActiveRecord или попробуйте найти более изящное решение вашей проблемы.
Редактировать:
Если вы просто хотите проверить, содержится ли данное письмо вВ таблице вы также можете проверить производительность User.find_by_email(params[:email]).present?