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

Requêtes MySQL Discussion :

Lenteur requetes sur tables, et surtout vues


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 91
    Points : 65
    Points
    65
    Par défaut Lenteur requetes sur tables, et surtout vues
    Bonjour à tous,


    Je comprends pas tout...

    ENGINE=InnoDB

    Requête (brutale) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MyView LIMIT 100
    Sur mon serveur de dev : 0.355
    Sur le serveur de prod : 5.86

    J'ai vérif mes clés primaires, index, taille des champs sur les 2 serveurs

    En profilant la requête, sur le serveur de prod :
    copying tmp table 0.382
    , copying to tmp table on disk 0.09
    , sorting result : 2.75 ????
    , sending data : 1.8 ????
    s'envolent ?

    Un tips, une aide, un carambar svp ?
    Merci
    Samish
    Samish, rentier et futur retraité
    Padawan #7896358

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    le sorting result est probablement du à la structure de la view.

    pour le reste, il faut comparer les tailles des bases, les paramétrages, l'activité sur les bases au moment où tu lance la requête, les ressources disponibles sur les machines, ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 91
    Points : 65
    Points
    65
    Par défaut ok merci
    Bonjour,

    Merci Nudger de votre réponse :
    Effectivement, il y avait un peu de tout (grosses sous requêtes, utilisation serveur, etc...)

    1/ J'ai fait une fonction qui génère les phrases sql "à la volée" sans utiliser de view

    2/ Relance service MySQL ts les jours à 7h

    3/ Création de tables "en dur" (exit les jointures, sous requêtes....)
    reprenant les principaux champs utiles aux tris.

    etc...

    Je suis ainsi arrivé à des temps de process acceptables
    Samish, rentier et futur retraité
    Padawan #7896358

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Samish Voir le message
    1/ J'ai fait une fonction qui génère les phrases sql "à la volée" sans utiliser de view
    Pourquoi pas.

    2/ Relance service MySQL ts les jours à 7h
    Pour quoi faire ?

    3/ Création de tables "en dur" (exit les jointures, sous requêtes....)
    reprenant les principaux champs utiles aux tris.
    Tu as dénormalisé ton modèle de données, pour autant qu'il fut normalisé avant cette opération !
    Tu risques donc une perte de cohérence des données en ayant fait cela.
    Difficile d'en dire plus sans connaître le modèle.

    Je suis ainsi arrivé à des temps de process acceptables
    Ce n'est pas l'application qui doit déterminer le modèle de données mais au contraire s'adapter au modèle de données en l'interrogeant de la manière la plus judicieuse.

    Avant la dénormalisation, il y a beaucoup de choses à vérifier pour otpimiser sa BDD, à commencer par la normalisation, mais aussi les index, la qualité des requêtes, la création de nouvelles vues et les caractéristiques hardware du serveur.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    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 !

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

Discussions similaires

  1. Requete sur table avec condition
    Par jokenjo dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/10/2007, 17h01
  2. [C#] Lenteur requete sur Orcale
    Par dsr57 dans le forum C#
    Réponses: 5
    Dernier message: 24/05/2007, 14h06
  3. Requete sur table récursive pour construire arbre
    Par dacid dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/06/2006, 17h17
  4. [MySQL] requete sur table jointe
    Par winnie82 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/03/2006, 16h27
  5. Requete sur table avec Tableau
    Par Sichagadel dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/11/2005, 14h05

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