在为rails中的列创建具有唯一值的记录时,哪个更有效 放置唯一性验证与查找记录是否存在具有相同值并根据存在进行创建。
在编码和效果方面,效率更高。
答案 0 :(得分:1)
数据库唯一性约束将为您提供最高性能。
在应用程序级别,无论您是使用validates_uniqueness_of
还是手动查找记录是否存在,性能基本相同。事实上,这正是它在Rails中实现的方式:https://github.com/rails/rails/blob/0d73d6e7b6dd1900f105397460b777ef6c03d3b6/activerecord/lib/active_record/validations/uniqueness.rb#L33