2010-09-08 46 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還提供了「延遲插入」,從「低優先級」的表現有所不同一點,我相信?