問題タブ [libmysql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MySQL トランザクションとバッファリングされたリクエストのリスト
ファイルを解析し、これらのファイルの内容に従って MySQL データベースを更新する C++ コードがあります。MySQL 5.7 を使用して Windows 10 でコードを実行し、ベースでは InnoDB エンジンを使用しています。MySQL の呼び出しは、libmysql の周りに独自のラッパーを介して実行されます。
このコードを最適化するために、バッファーの最大サイズに達するまで更新要求をバッファーに追加し、バッファー全体 (N 個の更新を含む) を同時に送信します。このプロセス全体が単一のトランザクション内で行われます。
私のコードは次のようになります。
SendRequest(string Request ) の実装は基本的に次のようになります。
ただし、トランザクションをコミットするときに、トランザクションが壊れていることがあります。MySQL は、状態がコミットに対して正しくないことを示しています。私は同じことをしようとしましたが、リクエストを 1 つずつ送信しましたが、このエラーはコミットの時点では発生しません。
だから、私の2つの質問は次のとおりです。
- 一度に複数のリクエストを送信するとトランザクションが壊れる理由を知っていますか?
- バッファリングされたリクエストのリストを使用することで、私のコードを本当に最適化できると思いますか?