Эффективность проверки уникальности в Active Record Rails

Что более эффективно при создании записей с уникальными значениями для столбца в рельсах. Размещение проверки уникальности по сравнению с обнаружением, если запись существует с тем же значением, и создание на основе существования.

Что является более эффективным с точки зрения кодирования и производительности.

1 ответ

Решение

Ограничение уникальности базы данных обеспечит вам максимальную производительность.

На уровне приложения, используете ли вы validates_uniqueness_of или ручной поиск, если запись существует, производительность в основном будет такой же. На самом деле, именно так это и реализовано в Rails: https://github.com/rails/rails/blob/0d73d6e7b6dd1900f105397460b777ef6c03d3b6/activerecord/lib/active_record/validations/uniqueness.rb#L33

Другие вопросы по тегам