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

Langage SQL Discussion :

Problème temps de traitement requête


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 15
    Par défaut Problème temps de traitement requête
    salut tout le monde
    j'ai cree une table clients en SQL avec 5 champ :

    1. id = int
    2. user = varchar(255)
    3. nbr = int
    4. data = varchar(255)
    5. time = datetime


    il y a 250,000 ligne dans la table clients quand je fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT distinct nbr 
    FROM `clients` 
    WHERE user like \'' . $_GET['users'] . '\'  
    order by nbr  ASC;
    la requet prend plus de 14 seconde pour me donner la reponse

    je voudrai une explication pourkoi cela prend autant de temp ?

    merci

  2. #2
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Bonjour

    Y a t-il des index de créer ? Sinon, la requête doit regarder chaque ligne de la table pour la colonne de la clause WHERE et celle de la clause ORDER BY ? (d'ailleurs quelle est cette colonne "a" dans le ORDER BY ???).

    Par ailleurs, l'opérateur LIKE selon les SGBD peut utiliser ou non les index. pourquoi ne pas utiliser un opérateur plus "classique" ?

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ajoutons aussi le risque d'injection SQL avec ce code et une structure un peu surprenante pour une table nommée "clients", qui devrait d'ailleurs être nommée au singulier.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Déploiement d'une application JEE: Problème de temps de traitement
    Par marouene_ dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 03/05/2011, 13h18
  2. Problème temps d'exécution requête
    Par Mr_Coinche dans le forum Oracle
    Réponses: 6
    Dernier message: 18/11/2010, 16h29
  3. Problème traitement requête http
    Par MrVoid dans le forum Langage
    Réponses: 5
    Dernier message: 01/06/2010, 16h19
  4. Réponses: 24
    Dernier message: 17/05/2010, 17h54
  5. Delete cascade --> problème de temps de traitement
    Par celine31 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 11/01/2006, 12h03

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