Эффективность проверки уникальности в Active Record Rails
Что более эффективно при создании записей с уникальными значениями для столбца в рельсах. Размещение проверки уникальности по сравнению с обнаружением, если запись существует с тем же значением, и создание на основе существования.
Что является более эффективным с точки зрения кодирования и производительности.
1 ответ
Решение
Ограничение уникальности базы данных обеспечит вам максимальную производительность.
На уровне приложения, используете ли вы validates_uniqueness_of
или ручной поиск, если запись существует, производительность в основном будет такой же. На самом деле, именно так это и реализовано в Rails: https://github.com/rails/rails/blob/0d73d6e7b6dd1900f105397460b777ef6c03d3b6/activerecord/lib/active_record/validations/uniqueness.rb#L33