Question sur SQL

Fermé
Bénédicte - 16 mai 2002 à 17:42
 sebsauvage - 22 mai 2002 à 09:18
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.
A voir également:

4 réponses

blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
17 mai 2002 à 21:49
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..."
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
17 mai 2002 à 23:25
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...
.  .
\_/
0
Bénédicte
21 mai 2002 à 10:04
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 ?

:-)
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
21 mai 2002 à 19:21
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
0
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.
0