Active Record 中唯一性验证的效率 Rails

Efficiency of uniqueness validation in Active Record Rails

为 rails 中的列创建具有唯一值的记录时哪个更有效 放置唯一性验证与查找记录是否存在具有相同值并根据存在进行创建。

就编码和性能而言,哪个更高效

数据库唯一性约束将为您提供最高性能。

在应用层面,无论是使用validates_uniqueness_of还是手动查找记录是否存在,性能基本相同。事实上,这正是它在 Rails 中的实现方式:https://github.com/rails/rails/blob/0d73d6e7b6dd1900f105397460b777ef6c03d3b6/activerecord/lib/active_record/validations/uniqueness.rb#L33