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

SQL Procédural MySQL Discussion :

Travailler sur une base de donnée


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Travailler sur une base de donnée
    Bonjour à tous,

    Je sollicite votre avis pour effectuer un travail particulier sur les Bases de données MySql.

    En effet, j'ai fait un script qui me permet de lire des données contenues dans des fichiers txt, de les modifier et de les réinjecter dans une base de données Mysql. SI mon script fonctionne parfaitement bien, je pense ne pas avoir choisi le meilleur langage en choisissant le PHP. En effet, il met une dizaine de minutes à s'executer, et si j'affiche trop d'information, mon navigateur plante irrémédiablement.

    Je me suis tourné vers des langages différents mais avant de bien me documenter sur un langage précis, je souhaite recueillir un peu votre avis sur la question. J'ai regardé le C, C++, le Java et le Delphi.

    Quels est selon vous le langage le plus adapté à effectuer des grosses opérations sur une base de données (Mysql dans mon cas).

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Travailler sur une base de donnée
    Citation Envoyé par nolan76
    En effet, j'ai fait un script qui me permet de lire des données contenues dans des fichiers txt, de les modifier et de les réinjecter dans une base de données Mysql. SI mon script fonctionne parfaitement bien, je pense ne pas avoir choisi le meilleur langage en choisissant le PHP. En effet, il met une dizaine de minutes à s'executer ...
    Si tu fais des insertions de tes éléments 1 par 1, les index seront mis à jour au fur et à mesure. Cependant, si tu mets tes enregistrements dans un fichier et que tu charges ton fichier d'un coup (avec un LOAD DATA INFILE...), les index sont créés à la fin, de manière optimale. Donc changer de langage ne solutionnera pas le problème.


    Citation Envoyé par nolan76
    ... et si j'affiche trop d'information, mon navigateur plante irrémédiablement.
    Là, par contre, c'est un autre problème. Un changement de langage peut éventuellement aider...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    En fait, je recrée les liens entre les tables directement en php, je fais donc les requetes une par une en "parsant" les fichiers textes correspondants, et en les modifiant le cas échéant.

    Mon problème étant que le php ne me semble pas un langage adapté à ce type de manipulation.

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Et tu "parses" comment? Tu sais qu'en PHP tu as les fonction fopen, fread, fwrite, fscanf, fclose comme en C?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par pcaboche
    Et tu "parses" comment? Tu sais qu'en PHP tu as les fonction fopen, fread, fwrite, fscanf, fclose comme en C?
    J'ouvre le fichier txt de avec un get content qui me renvoie une string géante que je découpe suivant les saut de lignes avec explode que je transformes en tableau et que je foreach allègrement en traitant dans la boucle

  6. #6
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Et après tu t'étonnes que ça prenne du temps? Le pire, c'est que je crois que tu as conscience de l'énormité de ce que tu es en train de faire, que tu esquisses un énorme sourire , d'un air de dire: "regarde, je mets toutes mes données en mémoire comme ça, c'est plus facile après pour les traiter... (pff... ch'suis fatigué ! j'veux pas écrire du code !). Ensuite j'irais me plaindre en disant que PHP n'est pas adapté à ce que je veux faire". Tu peux refaire la même chose en C si tu veux, comme ça, ça plantera juste plus vite...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bon alors tu me conseilles quoi ?

    *grand sourire*

  8. #8
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Et bien tu lis ton fichier en tant que flux plutôt que de le mettre entièrement en mémoire !

    Tout à l'heure, tu disais que tu découpais ton fichier suivant les sauts de ligne. Pour cela tu as la fonction fgets qui te retourne une ligne du fichier. Simple, non?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

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

Discussions similaires

  1. [AC-2003] Accéder et travailler sur une base de données POSTGRESQL
    Par flet le kid dans le forum Modélisation
    Réponses: 3
    Dernier message: 01/05/2009, 19h34
  2. Réponses: 10
    Dernier message: 25/11/2007, 10h30
  3. Réponses: 3
    Dernier message: 22/12/2005, 11h20
  4. Test des liens vide sur une base de données
    Par FLANQUART Marie dans le forum ASP
    Réponses: 1
    Dernier message: 10/11/2005, 14h35
  5. Connexion sur une base de données Postgre
    Par ktox dans le forum C++Builder
    Réponses: 3
    Dernier message: 04/08/2005, 10h58

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