insert into table1 ...;
update table2 set count=count+1;
Die obigen Ausführungen fügen etwas in table1
und aktualisiert im Erfolgsfall die count
Bereich der table2
.
Natürlich kann so etwas durch Transaktionen gehandhabt werden, aber Transaktionen müssen die Tabelle sperren, was in einem System mit hoher Parallelität nicht effizient ist. Und es kann sogar noch schlimmer werden, wenn Sie mehrere Tabellen in dieser Transaktion aktualisieren müssen.
Was ist Ihre Lösung?
Ich verwende PHP, und ich implementiere Transaktionen auf diese Weise:
mysql_query('begin');
mysql_query($statement1);
mysql_query($statement2);
...
mysql_query('commit');
Es sieht also so aus, dass alle Tabellen, die in diesen $statement
gesperrt sein wird?