Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred Brouard - SQLpro
Une procédure stockée, comme son nom l'indique est située dans le serveur contrairement à un ordre SQL même "préparé".
Dans le serveur signifie : 1) la compilation de la procédure a déjà eu lieu et toutes les info de préparation sont stockée avec tant que le serveur est actif (en principe 24h/24, 7J/7) 2) il n'y a pas d'aller et retour sur le réseau
Pour un ordre SQL "préparé" 1) la préparation a lieu chaque fois que l'application est lancée 2) il y a des aller et retour réseau.
Exemple : un code client (ordre SQL préparés) insere dans une table puis fait 2 update et un select final => 8 aller et retour d'information sur le réseau
ce mème code en une procédure : un seul aller et retour...
Le gain de temps est énorme, et la contention (temps de verouillage) minimisée.
A lire : http://sqlpro.developpez.com/cours/sqlaz/techniques/#L6
A +
Pif a écrit:
Bonjour, quel est l'intéret de ces procédures stockées par rapport aux prepared Statements ?
sont ils beaucoup plus rapide ? quelles sont les conditions de leur intéret ?
Merci !
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Une procédure stockée, comme son nom l'indique est située dans le serveur
contrairement à un ordre SQL même "préparé".
Dans le serveur signifie :
1) la compilation de la procédure a déjà eu lieu et toutes les info de
préparation sont stockée avec tant que le serveur est actif (en principe 24h/24,
7J/7)
2) il n'y a pas d'aller et retour sur le réseau
Pour un ordre SQL "préparé"
1) la préparation a lieu chaque fois que l'application est lancée
2) il y a des aller et retour réseau.
Exemple :
un code client (ordre SQL préparés) insere dans une table puis fait 2 update et
un select final =>
8 aller et retour d'information sur le réseau
ce mème code en une procédure :
un seul aller et retour...
Le gain de temps est énorme, et la contention (temps de verouillage) minimisée.
A lire : http://sqlpro.developpez.com/cours/sqlaz/techniques/#L6
A +
Pif a écrit:
Bonjour, quel est l'intéret de ces procédures stockées par rapport aux
prepared Statements ?
sont ils beaucoup plus rapide ? quelles sont les conditions de leur
intéret ?
Merci !
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Une procédure stockée, comme son nom l'indique est située dans le serveur contrairement à un ordre SQL même "préparé".
Dans le serveur signifie : 1) la compilation de la procédure a déjà eu lieu et toutes les info de préparation sont stockée avec tant que le serveur est actif (en principe 24h/24, 7J/7) 2) il n'y a pas d'aller et retour sur le réseau
Pour un ordre SQL "préparé" 1) la préparation a lieu chaque fois que l'application est lancée 2) il y a des aller et retour réseau.
Exemple : un code client (ordre SQL préparés) insere dans une table puis fait 2 update et un select final => 8 aller et retour d'information sur le réseau
ce mème code en une procédure : un seul aller et retour...
Le gain de temps est énorme, et la contention (temps de verouillage) minimisée.
A lire : http://sqlpro.developpez.com/cours/sqlaz/techniques/#L6
A +
Pif a écrit:
Bonjour, quel est l'intéret de ces procédures stockées par rapport aux prepared Statements ?
sont ils beaucoup plus rapide ? quelles sont les conditions de leur intéret ?
Merci !
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Pif
Le CS étend les fonctions du PS. Si dans un CS je met à jour certains parametres "?" avant d'exécuter ? Est-ce que les allers retours réseaux sont plus important, et sont ils équivalent à un PS ?
Quand tu compare le CS et le PS avec 1 AR contre 8, tu obtient normalement le meme nombre d'allers retours que le CS en faisant un PS.batch() non ?
Est-ce simplement un PS stocké sur un serveur afin de conserver les optimisations et statistiques de requetes contrairement à d'autres statements ?
Merci !
Le CS étend les fonctions du PS.
Si dans un CS je met à jour certains parametres "?" avant d'exécuter ?
Est-ce que les allers retours réseaux sont plus important, et sont ils
équivalent à un PS ?
Quand tu compare le CS et le PS avec 1 AR contre 8, tu obtient
normalement le meme nombre d'allers retours que le CS en faisant un
PS.batch() non ?
Est-ce simplement un PS stocké sur un serveur afin de conserver les
optimisations et statistiques de requetes contrairement à d'autres
statements ?
Le CS étend les fonctions du PS. Si dans un CS je met à jour certains parametres "?" avant d'exécuter ? Est-ce que les allers retours réseaux sont plus important, et sont ils équivalent à un PS ?
Quand tu compare le CS et le PS avec 1 AR contre 8, tu obtient normalement le meme nombre d'allers retours que le CS en faisant un PS.batch() non ?
Est-ce simplement un PS stocké sur un serveur afin de conserver les optimisations et statistiques de requetes contrairement à d'autres statements ?