Hi,
Je dispose d'une série de 5 exécutables qui font du pooling sur une table. Chaque exécutable interroge à interval régulier d'une seconde cette table afin de vérifier si un enregistrement qui le concerne a été ajouté. Si c'est le cas l'exécutable lance un traitement approprié. La table est donc ouverte, interrogée puis refermée 5 fois par seconde au total ce qui a comme conséquence de mettre mon serveur SQL à genoux. Il faut dire que le serveur doit déservire complémentairement 60 utilisateurs. Le taux d'utilisation des processeurs sur mon serveur SQL avoisine les 90% quand mes exécutables tournent. Il retombe à 20% quand les exécutables sont arrêtés. Ceci donne une idée de l'ampleur du problème.
Ma question est la suivante : y a t-il un moyen qui me permette d'être averti qu'un enregistrement a été ajouté à la table afin que mes exécutables ouvrent celle-ci uniquement si un enregistrement a été ajouté. Autrement dit, comment Delphi peut-il être averti d'un évènement INSERT dans une table SQL ?
Merci pour vos avis éclairés.
JJE
Environnement :
Delphi 6 (pour les exécutables)
SQL Server 7
Window 2000 Server
Compaq Proliant 3000 bi-processeur Pentium III 600 MHz
Partager