【发布时间】:2010-09-08 08:49:24
【问题描述】:
怎么办?有活动记录选项吗?
【问题讨论】:
-
你能再解释一下吗?您的问题可能具有误导性。
标签: ruby-on-rails mysql-management
怎么办?有活动记录选项吗?
【问题讨论】:
标签: ruby-on-rails mysql-management
您可以使用 rails 猴子补丁来做到这一点:
class ActiveRecord::Base
def self.insert_low_priority(hash)
keys = hash.keys.map { |v| "`#{v}`" }.join(',')
values = hash.values.map { |v| sanitize(v) }.join(',')
connection.insert_sql("INSERT LOW_PRIORITY INTO `#{table_name}` (#{keys}) VALUES(#{values})")
end
end
将它添加到初始化器中,例如config/initializers/activerecord_insert_low_priority.rb
用法很简单:ModelName.insert_low_priority :column1 => 'value'
【讨论】:
MySQL 还提供“INSERT DELAYED”,我相信它的行为与“LOW PRIORITY”略有不同?
【讨论】: