0

私は、mysql サーバー用のインフラストラクチャ ライブラリを作成しています。私が対処しなければならないシナリオの 1 つは、mysql サーバーからの一時的な切断です。

テスト シナリオは、DB への約 100000 の挿入を開始し、データベースを停止して元に戻すことです。

このシナリオでは、停止中に実行されているクエリで明らかに ER_QUERY_INTERRUPTED エラーが発生します。質問は:

データベースの状態(クエリが開始されていないなど)について何かを想定する、これを未定義の動作と見なして、この問題をチェーンに落としてユーザーに伝えることはできますか?

4

1 に答える 1

0

いくつかのテストの後、次の回答が表示されました。私たち (およびほとんどの人) は、デフォルト モードが transaction であるInnoDBを使用しています。それがER_QUERY_INTERRUPTEDクライアントに送信されるため、サーバー上のクエリはロールバックされます。このエラー処理戦略により、この場合、そのようなエラーのあるすべてのクエリを再送信します。

于 2013-07-30T08:17:36.303 に答える