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

EDI, CMS, Outils, Scripts et API PHP Discussion :

problème avec une requête sql (Maximum execution time) [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut problème avec une requête sql (Maximum execution time)
    bonjour a tous .

    bon voila , j'ai une base de donnée assez simple qui contient un tableau et deux champs

    dedans il existes des emails , je veux filtrer les emails dans les deux champs et dégager les emails non commun dans ceux table .

    voila :

    la table s'appelle concour.
    le champs 1 s'appelle email ( qui contient < 40 000 mails)
    et le champs 2 s'appelle vipe_email ( qui contient < 800 mails)

    le requete est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT email FROM `concour` WHERE email not in (select vipe_email from concour)
    jusqu'à la tout marche bien

    je travaille en localhost avec phpmyadmin
    et quand j'execute la requete
    elle prend jusqu'à 4 heures d'exécutions puis ca donne un message d'erreur:
    Fatal error: Maximum execution time of 300 seconds exceeded in C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php on line 140
    bon j'ai naicessairement due au nombre important d'itération :
    40 000 * 800 = 35 000 000 ==> 35 millions d'itérations

    j'ai chercher sur le net pour faire augmenter le max execution time

    j'ai trouvé la solution :
    Look for this line and adjust as required:
    $cfg['ExecTimeLimit'] = 300; // maximum execution time in seconds (0 for no limit)
    If your config-inc.php file is small and missing the above line or missing altogether then the file config.default.php in the .\xampp\phpMyAdmin\libraries folder is used.
    /**
    * maximum execution time in seconds (0 for no limit)
    *
    * @global integer $cfg['ExecTimeLimit']
    */
    $cfg['ExecTimeLimit'] = 300;
    Copy this file in to the phpMyAdmin main folder and rename it config-inc.php or copy the contents into the existing config-inc.php file and then do your editing in this new file not in the config-default.php file – this procedure makes it easier, as now all phpMyAdmin configs will be in the one place not in 2 locations with one being editable (config-inc.php) and the other not editable (config-default.php).
    j'ai fait ce que j'avais a faire et j'ai redemarrer le serveur xamp
    mais bon j'ai eu le meme resultat après certaines heures .

    des suggestions ??

    merci.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    euh, 4 heures !!! T'as le temps d'aller te taper un bon restau dis donc... Merci MySQL.

    Ton problème ne relève pas d'une erreur de temps maximum d'exécution mais d'une erreur SQL.
    1. Pose un index sur tes colonnes : email et vipe_email
    2. Modifies ton SQL comme ça :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 
        a.email 
    FROM 
        concour a
        LEFT JOIN concour b ON a.email = b.vipe_email
    WHERE
        b.vipe_email IS NULL
    Normalement, tu n'auras même pas le temps de boire un apéro

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci rawsrc pour votre réponse :
    SELECT
    a.email
    FROM
    concour a
    LEFT JOIN concour b ON a.email = b.vipe_email
    WHERE
    b.vipe_email IS NULL
    j'ai essayer cette requete et elle prend aussi bq du temps et enfin le resultat Phpmyadmin affiche une page blanc sans aucune donnée.,

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Est-ce que tu as posé des index sur les 2 colonnes ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    non j'ai pas fait d'index .

    est ce que je doit ? ?

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Oui, tu n'as pas le choix
    Au pire si cela ne te convient pas, tu pourras toujours les retirer, mais je doute qu cela ne résolve pas ton problème.

  7. #7
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    l'ajout de l'index a résolut le problem

    merci infiniment les gars

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

Discussions similaires

  1. Petit problème avec une requête SQL en VB6
    Par muzele dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/11/2007, 21h51
  2. Problème avec une requête sql
    Par mika0102 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/10/2007, 16h50
  3. [SQL] Problème avec une requête sql
    Par bodysplash007 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 11/05/2007, 18h30
  4. [MySQL] Problème avec une requête SQL
    Par chobol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/05/2006, 13h29
  5. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 18h47

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