Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    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 : 1
    Points
    1

    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 :
    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 539
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 539
    Points : 8 007
    Points
    8 007

    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 :
    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
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Invité de passage
    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 : 1
    Points
    1

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 539
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 539
    Points : 8 007
    Points
    8 007

    Par défaut

    Salut,

    Est-ce que tu as posé des index sur les 2 colonnes ?
    # Dans la Création, tout est permis mais tout n'est pas utile...

  5. #5
    Invité de passage
    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 : 1
    Points
    1

    Par défaut

    non j'ai pas fait d'index .

    est ce que je doit ? ?

  6. #6
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 539
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 539
    Points : 8 007
    Points
    8 007

    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.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  7. #7
    Invité de passage
    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 : 1
    Points
    1

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •