Question sur SQL
Bénédicte
-
sebsauvage -
sebsauvage -
Qu'est-ce qui transite entre le Client et le serveur lorsqu'une requête SQL est lancée dans une application ? en terme de poids, débit et informations. Est-ce toujours la même chose ? Et comment cela marche-t-il ?
(Je précise que je suis novice en la matière, mais que cette question m'a été posée et que j'aimerai avoir la réponse.)
Merci par avance.
(Je précise que je suis novice en la matière, mais que cette question m'a été posée et que j'aimerai avoir la réponse.)
Merci par avance.
A voir également:
- Question sur SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Migration base access vers sql server - Télécharger - Gestion de données
4 réponses
Bonjour,
SQL n'est qu'un langage d'interrogation d'un SGBD, c'est pourquoi je ne peux répondre à ta question de manière claire.
La réponse depend du SGBD et du sytème employé pour l'accès à la base.
Qq exemples :
-ACCESS (et son moteur JET) rapatrie toutes les données si les tables sont sur un serveur avec tables attachées
-SQL Server ne fait transiter que les données effectivement utiles... (c'est un 'vrai' client-serveur)
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
SQL n'est qu'un langage d'interrogation d'un SGBD, c'est pourquoi je ne peux répondre à ta question de manière claire.
La réponse depend du SGBD et du sytème employé pour l'accès à la base.
Qq exemples :
-ACCESS (et son moteur JET) rapatrie toutes les données si les tables sont sur un serveur avec tables attachées
-SQL Server ne fait transiter que les données effectivement utiles... (c'est un 'vrai' client-serveur)
A+
Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait..."
Normalement, dans un monde ideal et idyllique, tu as ta requete sous forme texte ou binaire qui se ballade de ton client a ton serveur, celui ci analyse et recupere le resultat qu'il envoie necuite sous la meme forme a ton client qui en fait ce qu'il veut...
Mais c'est vrai que c'est pas toujours le cas, surtout avec les produits Ms...
. .
\_/
Mais c'est vrai que c'est pas toujours le cas, surtout avec les produits Ms...
. .
\_/
Merci beaucoup ! une dernière petite question... y a-t-il en ce cas une "taille" de requête maximale ? Car si j'ai bien suivi, on peut avoir des requêtes différentes qui sont envoyées au serveur, donc logiquement il devrait y avoir plusieurs taille spossibles de requêtes non ?
:-)
:-)
qd tu parles de taille je suppose que tu v parler du nombre d'enregistrements retournes, je n'en ai jamais entendu mais bon, probablement il doit y avoir mais pratiquement cela devrait etre une taille q l'on ne pourrait jamais atteindre.Et qd je dis que cela pourrait exister c'est par rapport a la puissance de la machine qui l'execute car plus la machine est relativement puissante plus la requete est rapide a etre executee et donc lorsque la machine ne p supporter un certain temps de traitement intensif, sure la on est limite.
RM: je n'ai pas affirme q cela existe mais je pense q theoriquement cela pourrait exister et que c'est variable suivant la machine qui execute la requete.
tafiscobar
RM: je n'ai pas affirme q cela existe mais je pense q theoriquement cela pourrait exister et que c'est variable suivant la machine qui execute la requete.
tafiscobar
Je sais que certains serveurs de bases de données (mySQL) sont paramétrables pour limiter le nombre maximum d'enregistrement renvoyés.
Pour SQL Server, il n'y a pas de limite à ma connaissance.
Par contre, il y a une limite en *temps* de requête (toute requête dépassant x secondes est automatiquement annulée).
Pour SQL Server, c'est paramétrable à 2 endroits:
- au niveau du serveur SQL (il suffit de mettre 0 pour que les requêtes n'expirent jamais, mais ce n'est pas recommandé).
- au niveau du client. Par exemple, le client ODBC est configurable pour limiter le temps d'exécution de chaque requête.
Dans la pratique, il *faut* limiter les requêtes, soit en temps, soit en nombre de lignes renvoyées.
ça permet de ne pas bloquer indéfiniment tous les utilisateurs si un seul utilisateur est bloqué ou récupère trop de résultats.
Pour SQL Server, il n'y a pas de limite à ma connaissance.
Par contre, il y a une limite en *temps* de requête (toute requête dépassant x secondes est automatiquement annulée).
Pour SQL Server, c'est paramétrable à 2 endroits:
- au niveau du serveur SQL (il suffit de mettre 0 pour que les requêtes n'expirent jamais, mais ce n'est pas recommandé).
- au niveau du client. Par exemple, le client ODBC est configurable pour limiter le temps d'exécution de chaque requête.
Dans la pratique, il *faut* limiter les requêtes, soit en temps, soit en nombre de lignes renvoyées.
ça permet de ne pas bloquer indéfiniment tous les utilisateurs si un seul utilisateur est bloqué ou récupère trop de résultats.