l'accès simultané à la base de données MySQL à l'aide de la procédure stockée

J'ai une procédure stockée qui va lire et puis incrémenter une valeur dans la base de données. Cette procédure est utilisée par de nombreux programmes en même temps. Je suis préoccupé par les problèmes de concurrence, en particulier le lecteur-écrivain problème. Quelqu'un peut-il svp me suggérer d'éventuelles solutions?

grâce.

Vous devriez probablement utiliser des transactions dans la procédure stockée... peut-être que je suis vieux jeu, et il ya quelques approches plus modernes, mais j'utilise les opérations à réaliser - je utiliser des transactions pour chaque opération qui ne peut pas être écrit comme une seule requête.
mais les transactions ne sont pas les empêcher de partir d'une autre application de lecture de la valeur...je veux dire, si Un processus est à l'aide de la procédure stockée[l'opération] pour mettre à jour la colonne1 de row1, puis B peut encore lire la colonne1 de row1, mais il obtiendra la valeur existante pas la valeur de mise à jour. J'espère que vous comprenez ce que je veux dire. Si je suis dans l'erreur, pouvez-vous expliquer?
À l'aide de transactions que vous ne vous cacherai pas que le processus B pour faire son boulot et qui n'est pas du tout le but de la transaction. Le but de l'opération est de toujours obtenir un état cohérent, comme si le processus a été la seule à l'aide de la base de données en même temps. Ainsi, le processus B peut lire l'ancien état de la db lorsqu'Un processus est dans le milieu de l'opération. Et chaque transaction se passe comme si personne d'autre n'a l'aide de la base de données en même temps.
correct et c'est mon problème....transaction wont stop les autres processus qui accèdent à la même valeur....il va juste assurez-vous que lire et écrire l'opération ne se fera pas en même temps que, sans nier l'accès....mais j'ai besoin de VERROUILLER la ligne une fois que je commence à le mettre à jour. Mais autant que je sache, le cadenas n'est pas autorisé dans une procédure stockée....s'il vous plaît corrigez-moi si je me trompe.
Bonne lecture: dev.mysql.com/doc/refman/5.5/en/... mtocker.livejournal.com/52721.html

OriginalL'auteur usp | 2011-09-22