【问题标题】:Insert delayed in rails在导轨中延迟插入
【发布时间】:2010-09-08 08:49:24
【问题描述】:

怎么办?有活动记录选项吗?

【问题讨论】:

  • 你能再解释一下吗?您的问题可能具有误导性。

标签: ruby-on-rails mysql-management


【解决方案1】:

您可以使用 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'

【讨论】:

    【解决方案2】:

    MySQL 还提供“INSERT DELAYED”,我相信它的行为与“LOW PRIORITY”略有不同?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      相关资源
      最近更新 更多