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

Requêtes MySQL Discussion :

Conseils insert multiples sur même table


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut Conseils insert multiples sur même table
    Bonjour,

    Je suis en environnement de production (MySQL 5.0 sous Linux) et exécute de gros traitements que je compte dispatcher sur plusieurs machines, afin de nourrir une table centralisée sur un serveur, qui lui même exécute ce process.

    Je souhaite donc effectuer des insert provenant de plusieurs machines sur une même table du serveur, qui n'a pas d'index.

    N'ayant pas d'expérience en ce domaine, je ne sais pas si je vais créer la table centrale en MyISAM ou InnoDB et s'il risque d'y avoir des problèmes si des insert s'effectuent en même temps (lock, collisions...).

    Auriez-vous des conseils pour gérer ceci ?

    En vous remerciant,

    C. Tobini

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Quelle est la fréquence prévue de ces insertions ? Chaque machine effectue-t-elle quelques insert en séquence ou y a-t-il plusieurs utilisateurs connectés dessus ?
    Pour une charge moyenne on peut raisonnablement estimer que MyISAM suffit. InnoDB est plus robuste dans un environnement transactionnel intensif et procure aussi d'autres avantages comme les clés étrangères, la reprise sur crash avec les logs de transactions...
    Pensez au bouton

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut
    Bonjour et merci de la réponse,

    Il y a 5 bases 'clientes' qui vont injecter en même temps environ 200 millions de lignes dans la table distante.

    Il n'y a pas d'utilisateurs loggués dessus, ce sont des bases de production à usage interne.

    C. Tobini

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    MyISAM sera plus rapide avec des gros bulk insert du moment qu'on sait qu'on ne doit pas gérer de problématique d'isolation des transactions. Typiquement, les conditions idéales sont un système de batch ou chaque machine insèrera à une heure donnée ou juste l'une après l'autre.
    On peut aussi imaginer tirer parti des bénéfices du INSERT DELAYED.
    Pensez au bouton

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    J'avais effectivement pensé à batcher mes machines, sachant que je ne connais pas le temps d'insertion, forcément

    Dans mon cas, sachant que personne d'autre n'accédera au serveur, je pense qu'un DELAYED sera le bienvenu

    Merci beaucoup pour les conseils en tout cas !

    Bonne journée et à +,

    C. Tobini

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/10/2012, 08h53
  2. Count multiple sur même table et join
    Par bouket dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/11/2011, 16h42
  3. [MySQL] Insert into multiple dans même table
    Par andaman dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/01/2011, 16h51
  4. Triggers BEFORE INSERT multiples sur la même table
    Par king_abdel dans le forum PL/SQL
    Réponses: 6
    Dernier message: 04/08/2010, 17h27
  5. Réponses: 4
    Dernier message: 13/03/2009, 13h55

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