2010-12-16 38 views
4

Je suis relativement nouveau dans la programmation web. J'espère que celui-ci est facile. J'ai une application serveur qui surveille une table SQL. Chaque fois qu'un champ entier devient positif, l'application lit le reste de la ligne et remplit un long champ de texte dans le même enregistrement. J'ai maintenant un script php qui définit le champ int, et doit attendre que l'application remette le champ à zéro, puis lire le champ de texte et renvoyer l'écho à l'utilisateur distant. J'ai essayé ceci (odbc):php sql synchrone wait

$processed = 0; 
while (!$processed) 
    { 
    $rs = odbc_exec($conn, $sql); 
    odbc_fetch_row($rs); 
    $processed = odbc_result($rs, "Processed"); 
    $output = odbc_result($rs,"OutputSpec"); 
    } 

I prend environ 5 sec. pour finir. Trop lent. Je mets un compteur et il faut ~ 10000 itérations pour que 'traité' change. Je sais que mon application serveur change le champ instantanément. Résultat similaire dans le SqlServer. Il doit y avoir quelque chose qui retarde le commit ou quelque chose?

+0

développement Web, dans mon expérience, est beaucoup plus passive. Au moins, la couche de base de données est. Je n'ai jamais eu à "écouter" une table de base de données comme celle-ci. Tout ce trafic vers la base de données (aller chercher des lignes) ressemble à du martèlement. Il doit y avoir un meilleur moyen. – Stephen

Répondre