IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Insert et volume de masse


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Insert et volume de masse
    Bonjour,

    Voici la problématique que je dois résoudre :

    je doit importer en base un fichier plat qui comporte environ + de 70000 ligne, chaque ligne ayant environ une vingtaine de colonnes.

    En terme de puissance ça ne passera pas je crois que ce soit dans la lecture du fichier ou dans l'insertion.

    je me vois pas faire une boucle de 70000 itérations avec lecture de la ligne + insert de ligne lue....

    J'ai donc pensé à lire le fichier par bloc de 2000 lignes puis d'utiliser la méthode addBatch() de jdbc comme ca j'ai qu'un commit tout les 2000 insert et j'explose pas le log car 2000 ca reste raisonnable.

    En plus de cela dans le batch la requete est précompilé (preparedstatement)

    Vous en pensz quoi de ce raisonnement ?

    Merci

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    si tu possède Oracle, utilise sqlLoader c'est fait pour ça.

    Apres pour les autres bdd, je ne sais pas si il existe des equivalents.

    En tous cas pour ce genre de chose mieux vaut confier le traitement à la bdd, elle est conçue pour ça
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    J'étais partis sur cette solution de Confier la tache à la bdd mais pour des raisons d'architecture l'appli n'a pas les privilèges pour faire cette action :

    la base est en DB2

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    franchement, je persiste ... mais bon si ce n'est vraiment pas possible
    c'est dommage.

    sinon (j'espère que je ne vais pas faire hurler les gens) pour optimiser ce genre de traitement, le mieux est peut être de passer par un traitement en perl ...

    sinon le passage par batch est ta seule solution effectivement ...

    faut voir les autres avis, mais si tu n'as pas de réponse c'est que ce que tu proposes (le batch) est la bonne solution
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

Discussions similaires

  1. Insertion en masse dans table de fait
    Par niiccoo dans le forum Oracle
    Réponses: 19
    Dernier message: 29/05/2006, 10h56
  2. [HIBERNATE] Problème d'insert de masse en HQL
    Par ange bleu dans le forum Hibernate
    Réponses: 9
    Dernier message: 20/04/2006, 09h39
  3. [Optimisation] Insert en masse
    Par bobic dans le forum Oracle
    Réponses: 1
    Dernier message: 14/12/2005, 21h11
  4. [9i] Insertion de masse
    Par sygale dans le forum SQL
    Réponses: 2
    Dernier message: 05/12/2005, 09h51
  5. [Optimisation] Insertion en masse !
    Par m-mas dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/10/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo