複数の PDO クエリで mysql データベースを変更する PHP スクリプトを使用しています。2 人のユーザーがページをまったく同時にロードした場合、mysql は最初にユーザー 1 からのすべてのクエリを一度に処理するのでしょうか、それともユーザー 1 からのいくつかのクエリが処理された後、ユーザー 2 からのいくつかのクエリが処理されるリスクがあるのでしょうか。そして、ユーザー1からさらにいくつか?
私の質問が明確であることを願っています。よろしくお願いします;-)。
ロックまたはトランザクションを使用しない限り、クエリの実行順序を保証することはできません。同時に実行される複数の PHP スクリプトがある場合、それらは互いに認識せずにデータベースと対話します。
たとえば、スクリプトが同時に 2 回実行され、その間に数秒の間隔がある 2 つのクエリがある場合、スクリプト 1 のクエリ 1 はスクリプト 2 のクエリ 1 の前にデータベースによって実行される可能性がありますが、スクリプト 2 のクエリ 2 はスクリプト 1 の前に実行される可能性があります。クエリ 2。
より高いレベルの観点からは、すべてのクエリが同時に実行されますが、特定の順序で実行されるクエリに依存するコードがコード内にある場合は、ロックまたはトランザクションを使用して確認する必要があります。すべてがうまくいきます。