Partager via


Importance de l’emplacement du curseur

Chaque curseur utilise des ressources temporaires pour contenir ses données. Ces ressources peuvent être de la mémoire, un fichier de pagination de disque, des fichiers de disque temporaires ou même un stockage temporaire dans la base de données. Le curseur est appelé « curseur côté client » lorsque ces ressources se trouvent sur l'ordinateur client. Le curseur est appelé curseur côté serveur lorsque ces ressources se trouvent sur le serveur.

Client-Side Curseurs

Dans ADO, appelez un curseur côté client à l’aide du adUseClient CursorLocationEnum. Avec un curseur côté client non keyset, le serveur envoie l’ensemble du jeu de résultats sur le réseau à l’ordinateur client. L’ordinateur client fournit et gère les ressources temporaires nécessaires au curseur et au jeu de résultats. L’application côté client peut parcourir l’ensemble du jeu de résultats pour déterminer les lignes dont elle a besoin.

Les curseurs côté client statiques et pilotés par des ensembles de clés peuvent imposer une charge importante sur votre station de travail s'ils incluent un trop grand nombre de lignes. Bien que toutes les bibliothèques de curseurs soient capables de créer des curseurs avec des milliers de lignes, les applications conçues pour extraire ces grands ensembles de lignes peuvent fonctionner mal. Il existe bien sûr des exceptions. Pour certaines applications, un curseur côté client volumineux peut être parfaitement approprié et les performances peuvent ne pas être un problème.

L’un des avantages évidents du curseur côté client est une réponse rapide. Une fois le jeu de résultats téléchargé sur l’ordinateur client, la navigation dans les lignes est très rapide. Votre application est généralement plus évolutive avec des curseurs côté client, car les besoins en ressources du curseur sont placés sur chaque client distinct et non sur le serveur.

curseurs Server-Side

Dans ADO, appelez un curseur côté serveur à l’aide du adUseServer CursorLocationEnum. Avec un curseur côté serveur, le serveur gère le jeu de résultats à l’aide des ressources fournies par l’ordinateur serveur. Le curseur côté serveur retourne uniquement les données demandées sur le réseau. Ce type de curseur peut parfois fournir de meilleures performances que le curseur côté client, en particulier dans les situations où un trafic réseau excessif est un problème.

Toutefois, il est important de souligner qu’un curseur côté serveur est , au moins temporairement, consommant des ressources serveur précieuses pour chaque client actif. Vous devez planifier en conséquence pour vous assurer que le matériel de votre serveur est capable de gérer tous les curseurs côté serveur demandés par les clients actifs. En outre, un curseur côté serveur peut être lent, car il fournit uniquement un accès ligne à ligne : il n’existe aucun curseur par lot disponible.

Les curseurs côté serveur sont utiles lors de l’insertion, de la mise à jour ou de la suppression d’enregistrements. Avec les curseurs côté serveur, vous pouvez avoir plusieurs instructions actives sur la même connexion.