2010-09-08 41 views
2

怎么办?有一个活跃的记录选项?延时插入导轨

+0

你可以再解释一下吗?你的问题可能会引起误解。 – 2010-09-08 09:47:15

回答

4

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

将它添加到初始化,例如配置/初始化/ activerecord_insert_low_priority.rb

用法很简单:ModelName.insert_low_priority :column1 => 'value'

1

MySQL还提供了“延迟插入”,从“低优先级”的表现有所不同一点,我相信?