j'ai un peu continué avec une autre idée, j'ai viré le begin rescue et  
j'ai fait une recherche sur ma valeur avant chaque insertion... c'est  
un peu barbare, mais cela fonctionne, voici ma portion de code dans  
mon fichier de migration:


       CSV::Reader.parse(File.open("#{RAILS_ROOT}/db/ 
listaClients.csv", 'rb')) do |row|
       test = Company.find(:first, :conditions => "cnpj='#{row[2]}'")
       if(test == nil)
         this_row = {
           :razao_social => row[0],
           :nome_fantasia => row[1],
           :cnpj => row[2],
           :rua => row[3],
           :cep => row[4],
           :bairro => row[5],
           :cidade => row[6],
           :estado => row[7],
           :telefone => row[8]
         }
         company = Company.new(this_row)
         company.save!
       else
         printf("elimination doublon!: %s\n", row[2])
       end
     end

dans mon cas je ne teste qu'un champs, car il doit être unique, si on  
test sur plusieurs avec beaucoup de données... ca doit prendre plus de  
temps.
Ici le remplissage de la table a duré 36,78 s pour environs 2392  
enregistrements (2283 après élimination des doublons), sans filtrer  
les doublons l'importation a duré 33,83s cela fait environs 10% de  
temps en plus (moins de 4s pour filtrer).

Bonne soirée

Denis


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à