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

Développement SQL Server Discussion :

Utilisation de sql dynamique


Sujet :

Développement SQL Server

  1. #1
    Membre éclairé
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Par défaut Utilisation de sql dynamique
    bonjour
    tout d'abord je tient à présenter mes excuse pour cette question très conne
    je cherche a comprendre la difference entre SQL dynamique et la procédure stocké et dans quel cas je doit utilisé sql dynamique et quel est le plus performant sql dynamqiue ou la procédure stocké
    merci pour vos aides

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Ce n'est pas une question "conne". Par ailleurs, on ne peut pas blâmer quelqu'un parce qu'il/elle ne sait pas.

    Le SQL dynamique permet de construire une chaîne de requête au fil de l'eau. C'est généralement utile dans deux cas d'utilisation :

    - Maintenance de base de données (par exemple, défragmentation automatisée des index, sauvegardes de base de données, audit de performance, ...)
    - Pour ne générer qu'une seule chaîne de requête par jeu de valuation de variables.

    Je vous invite à lire la réponse que j'ai fait ici.

    En termes de performances, une procédure stockée s'exécute aussi bien que du code en SQL dynamique.
    La sensibilité aux valeurs des paramètres est la même (cf. parameter sniffing), et la gestion de la mise en cache aussi.

    L'utilisation des procédures stockées est plus sécurisée, puisque l'application ne passe que le nom de celle-ci et la valeur des paramètres.
    Dans le cas du SQL dynamique, l'application passe toute la chaîne de requête, plus les valeurs des paramètres. Ceci, en plus d'être moins sécurisé, requiert un peu plus de ressources : le trafic réseau est nécessairement augmenté, et le moteur doit calculer le hash de la chaîne de requête à chaque soumission, puis vérifier s'il y a un plan pour celle-ci en cache.
    En revanche, si l'on tient à gérer de façon unique le code source, le SQL dynamique s'y prête mieux : je ne connais pas à l'heure actuelle de logiciel de contrôle de code source qui permette de versionner en même temps les procédures stockées (et par extension les modules SQL) et le code source (corrigez-moi si je me trompe). Notons enfin que l'on peut tout à fait faire du SQL dynamique dans une procédure stockée.

    @++

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/03/2007, 13h30
  2. Appel de function en SQL Dynamique
    Par dkd dans le forum Oracle
    Réponses: 22
    Dernier message: 28/09/2004, 18h01
  3. SQL dynamique : pb de syntaxe
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/08/2004, 16h50
  4. SQL dynamique
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/08/2004, 10h18
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 17h56

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