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

Outils MySQL Discussion :

Base de données trop importante


Sujet :

Outils MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 71
    Points : 44
    Points
    44
    Par défaut Base de données trop importante
    Bonjour,

    J'aimerais avoir si il était possible de paramétrer phpmyadmin au niveau des taille de table

    Car j'ai une base de données d'environ 133 millions d'entrée :-)

    Donc j'aimerai connaitre une solution pour la créer, j'ai developpé un script pour la créer mais la table sql sature très vite !!

    une fois arriver ou a peine dépassé 10 Mo plus aucune insertion ne se fait !!


    Merci d'avance

    Creale

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Il faut faire un COMMIT de temps en temps...
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 71
    Points : 44
    Points
    44
    Par défaut
    Pourrais tu préciser svp ??

    Merci bcp de la rapidité en tous cas !!

  4. #4
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Si ta base rame tu as peut être l'explication de cela : http://www.developpez.net/forums/sho...t=17791&page=2
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  5. #5
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    il faut que tu specifies le max_row :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE  TaTable (
      `ch1` .............,
       .......................
      'chn' ................,
     
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=1330000000;

    _____________________
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard

  6. #6
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Citation Envoyé par amika
    il faut que tu specifies le max_row :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE  TaTable (
      `ch1` .............,
       .......................
      'chn' ................,
     
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=1330000000;

    haa je connaissais pas çà !...
    Merci je pense ça doit aller dans la faq Mysql!
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  7. #7
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Citation Envoyé par creale10
    Pourrais tu préciser svp ??

    Merci bcp de la rapidité en tous cas !!
    en "gavant" la base avec des insert, cela oblige le sgbd à garder la trace de toutes les opérations afin de pouvoir les annuler en cas de problème.

    Si on ne signale pas au sgbd la validation (par COMMIT) des opérations, il va finir par passer énormément de temps à mémoriser l'historique (journalisation), et même plus de temps à journaliser qu'à traiter les insert.

    Par contre, si tu valides (COMMIT) tous les 50000 ou 100000 insert, le sgbd libère les ressources dédiées à la journalisation de ces 50 ou 100000 ordres sql.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  8. #8
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Citation Envoyé par qi130
    en "gavant" la base avec des insert, cela oblige le sgbd à garder la trace de toutes les opérations afin de pouvoir les annuler en cas de problème.

    Si on ne signale pas au sgbd la validation (par COMMIT) des opérations, il va finir par passer énormément de temps à mémoriser l'historique (journalisation), et même plus de temps à journaliser qu'à traiter les insert.

    Par contre, si tu valides (COMMIT) tous les 50000 ou 100000 insert, le sgbd libère les ressources dédiées à la journalisation de ces 50 ou 100000 ordres sql.
    Mais là ça marche uniquement si les insert se fait en un bloque
    BEGIN
    INSERT ...;
    INSERT ...;
    COMMIT

    un truc comme ça ?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  9. #9
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Quel est le moteur de la la table de cette base . Si c'est du MyIsam, ces solutions sont inutiles, si c'est de l'InnoDb, alors oui ca aide.

    PhpMyAdmin a un gros défaut, il mutlitplie les étapes.
    1-Transfert des données via Apache
    2-Analyse des données via PHP
    3-Insertions des données dans la bases MySQL par PHP
    4-Validation par PHP que tout se passe bien

    Résultat pour les grosses bases, on multiplie les points de congestions :
    1-Pour le point 1,le serveur Apache peut refuser l'upload du fichier (trop volumineux)
    2-Pour le point 2, le script PHP pose généralement peu de soucis
    3-Pour le point 3, le temps de traitement peut faire qu'on atteint le timeout de PHP
    4-On est souvent planté avant le point 4

    Ma proposition, si vous ne pouvez vous connecter en mode console sur la base distante :
    1-Uploader votre fichier sql sur votre serveur
    2-Créez un fichier PHP
    3-Modifier le timeout de PHP
    4-Créez un script PHP-MySQL qui appelle le fichier sql via la commande source de MySQL.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

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

Discussions similaires

  1. Base de données trop importante pour Easyphp
    Par TALK2DAM dans le forum Débuter
    Réponses: 7
    Dernier message: 19/11/2012, 15h30
  2. [AC-2007] Comment gérer une liste de données trop importante ?
    Par cyrildad dans le forum Modélisation
    Réponses: 5
    Dernier message: 08/09/2009, 17h55
  3. [MySQL] Base de données trop solicitée => mysql_insert_id
    Par gazelle dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 17/07/2009, 11h22
  4. Base de données trop importante
    Par stefane26 dans le forum Excel
    Réponses: 7
    Dernier message: 12/07/2007, 07h46
  5. Base de données trop grosse pour sql
    Par creale10 dans le forum Oracle
    Réponses: 2
    Dernier message: 08/12/2006, 10h25

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