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

SQL Procédural MySQL Discussion :

Performance procédure stockée ?


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut Performance procédure stockée ?
    Bonjour,

    j'aimerais savoir quelles sont les performances d'une procédure stockée. J'ai un collègue qui me dit que les procédures stockées doivent être re-compilées à chaque appel et que donc ça nuit aux performances. Est-ce vrai ?

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    pour mysql c'est pas très bien documenté, je t'avoue...
    en pratique le create procedure/function stocke le code dans une table de information_schema qui s'appelle routines...
    il est for probable qu'une version compilé soit stocké sous forme binaire ou de pseudo code compilé (style java) puisque le create génère une compilation...

    Dans l'absolu, l'appel à call limité la bande passante utilisée pour exécuter l'ensemble des actions voulues... donc au niveau des appels tu y gagnes forcément...

    En gros, le gain en performance dépend aussi du paramétrage de ton serveur... si tu as un mutu avec peu de mémoire pour mysql alors tu peux en souffrir mais ce serait pareil en fait avec des allers et retours entre application et bd (voir pire)

    Personnellement, à architecture égale, en comparant la version aller/retours classiques et la génération intégrale de xhtml coté mysql je gagne entre 30 et 50%... selon les page en pure procédures stockées...
    La seule vrai limite c'est les 255 niveaux de récursion et que certains traitement sont pas faisable de manière du tout ou efficacement avec mysql (genre les remplacement à base de regex ^^ )...

    Là où il a plus raison c'est sur les fonctions stockées, car selon leur placement dans une requêtes, elles peuvent engendrer des pertes drastiques de performances... tu pourras jamais reproduire l'équivalent d'un code compilé style c/c++

    Au final, c'est donc plus l'utilisation qui, si elle est pas adaptée à ton système et à ce que sait bien faire mysql, va être à l'origine de perte de performances...

Discussions similaires

  1. Problème de performances d'une procédure stockée
    Par nessaure dans le forum Développement
    Réponses: 7
    Dernier message: 08/07/2015, 16h26
  2. Performances calamiteuses d'une procédure stockée
    Par mirumoto dans le forum PL/SQL
    Réponses: 35
    Dernier message: 08/09/2010, 07h55
  3. simple select plus performant que procédure stockée
    Par dens19 dans le forum Développement
    Réponses: 5
    Dernier message: 01/09/2010, 10h36
  4. [2005] Performances de XML dans une procédure stockée
    Par franculo_caoulene dans le forum Développement
    Réponses: 3
    Dernier message: 17/04/2009, 10h40
  5. [VB.NET]Performance exécution procédure stockée
    Par Franck2mars dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/05/2006, 16h11

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