テーブルロックの代わりに、トランザクション
データテーブル内のMySQLのMyISAMタイプは、それがコミットをサポートしていません(提出)およびROLLBACK(ロールバック)コマンド。ユーザがデータベースの挿入、削除、更新などの操作を行う場合、これらのデータの変更が直ちにディスクに保存されています。このように、マルチユーザー環境では、データベースに指定された手術台の上に複数のユーザーが存在する同じ時間を避けるために、多くの問題につながることができます。ロックテーブルは、動作中にユーザデータテーブルを避けるためにも適用することができる乱されます。そして、ユーザが操作ロックテーブルを解放した場合にのみ、他のユーザーがこれらの変更されたデータテーブルにアクセスすることができます。
アプリケーションテーブルロック疑似総務
一般手順擬似トランザクション次のように
データベースのデータテーブルにロック操作が行われ、複数のテーブルは、様々な方法でロックすることができる
データベース操作を実行するために、データテーブルはロックに追加され、削除、変更操作と他の操作を行う
ロックを解除しますしたがって、他のユーザのビューまたは動作にキューに待機しているデータシートは、データテーブル内のデータを参照したり、データテーブルに種々の操作を行うことができます。
トランザクションとパフォーマンス
異なるアプリケーション分離レベルの取引システムは、異なる分離レベルのトランザクション処理を使用して、影響のシリーズを引き起こしている可能性があり、システムは、安定性とセキュリティ、および他の多くの要因の影響を有していてもよいです。さらに、いくつかのデータベース操作、無アプリケーショントランザクションは、ユーザが適切なタイプを選択するために、データテーブルの種類、データテーブルを選択します。テーブルの種類を選択するときに、あなたはデータテーブルを考慮しなければならない前提の完全に機能、および効率的な実装を持って、システムが追加の負担はありません。
小さなトランザクションの応用
ために、個々のトランザクションが他が大幅にシステムのパフォーマンスを引き起こして待って避けるようにするため、各トランザクションが実行される前に、長い時間を待たないであろうことを保証するために:小さなトランザクションのアプリケーションがあることを意味します。
分離の適切なレベルを選択します
その性能は、サーバ上の負荷に反比例するため、トランザクションを生成するとき、すなわち、より高いトランザクション分離レベル、性能が低下するが、より安全。
概念と回避デッドロック
同時にまで同じプランの異なる配列中に2人以上のユーザーがお互いに別の二つの側面が待ち状態になっている原因の許可を解放するのを待つ、データベースを更新するとき、あるデッドロック、。