2

実行する方法?アクティブなレコード オプションはありますか?

4

2 に答える 2

4

Rails monkey patch を使用してそれを行うことができます:

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'

于 2010-09-08T13:34:26.660 に答える
1

MySQL は「INSERT DELAYED」も提供しますが、これは「LOW PRIORITY」とは少し異なる動作をすると思いますか?

于 2011-07-22T03:39:35.207 に答える