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

PHP & Base de données Discussion :

Requete SQL lente


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 19
    Par défaut Requete SQL lente
    Bonjour,

    J'ai un problème avec une requête SQL pour mon site.

    La requête est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT NumCmd,NomClient,CodePostal,Ville,Poids,Volume,DateRes,DateLiv,DateLivPrev,StActuel,DateRecep,ZoneFacturation,typecmd FROM c, i WHERE c.CodePostal= i.CP AND NomClient LIKE '".$nom."%' ORDER BY ".$classer." asc  ";
    La table c a 3000 enregistrement et la table i en a autant.

    Donc j'ai calculer le temps d'exécution de la requête et elle met 30 secondes.
    Ce que je ne comprends pas c'est que dans phpmyadmin, lorsque j'exécute cette requête, elle s'exécute assez rapidement.

    Pour cette requête, je fais une recherche par nom de client mais le problème est le même lorsque je fais une recherche par ville ou par numéro de commande. Mais quand je fais une recherche par Code postal, la recherche se fait rapidement.

    Voilà

    Merci d'avance pour votre aide

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    montre nous les structures des 2 tables

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 19
    Par défaut
    Dans ma table c j'ai :
    NumCmd,NomClient,CodePostal,Ville,Poids,Volume,DateRes,DateLiv,DateLivPrev,StActuel,DateRecep, typecmd
    avec NumCmd primaire.
    Dans ma table i j'ai :
    idCommune, nom, CP

    avec idCommune primaire.

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par Timbermatt Voir le message
    avec idCommune primaire.
    dans ce cas il faudrait déjà que tu rajoutes idCommune en tant que clé étrangère dans la table "c"
    ensuite tu ferras ta jointure sur "idCommune" au lieu de "CP" ça accélèrera déjà un peu ta requête
    ensuite utilise JOIN pour faire la jointure, regarde là : http://sqlpro.developpez.com/cours/sqlaz/jointures/

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 19
    Par défaut
    C'est vrai que cela serait plus logique mais le problème c'est que la base de donnée est déjà remplit et que si je rajoute la clé étrangère idCommune, il faudrait un certain temps pour la remplir.

    Par contre, j'ai résolu mon problème avec les indexes. Je savais pas trop comment ça fonctionné mais j'ai crée deux indexes pour le CP de la table i et pour le CodePostal de la table c et je n'ai plus de problème .

    Merci pour ton aide.

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

Discussions similaires

  1. [SQL Server] Requete SQL lente
    Par Ninpa dans le forum Accès aux données
    Réponses: 4
    Dernier message: 14/05/2014, 15h34
  2. Infopath, requete SQL lente
    Par Haziel dans le forum InfoPath
    Réponses: 2
    Dernier message: 26/06/2008, 00h04
  3. Requete SQL Anormalement lente
    Par ez3kiel dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/05/2007, 21h45
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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