2010-09-08 5 views

Répondre

4

Vous pouvez le faire en utilisant des rails patch singe:

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 

Ajouter à initialiseurs, par exemple config/initializers/activerecord_insert_low_priority.rb

L'utilisation est simple: ModelName.insert_low_priority :column1 => 'value'

1

MySQL fournit également "INSERT DELAYED" qui se comporte un peu différemment de "PRIORITÉ FAIBLE" je crois?