MySQLのInnoDBでトランザクション分離レベルを設定する方法を教えてください
MySQL InnoDB のトランザクション分離レベルを設定するには、以下の手順を使用します。
- MySQLの設定ファイル(通常は/etc/my.cnfまたは/etc/mysql/my.cnf)を開き、[mysqld]セクションを探します。
- [mysqld]セクションに次の一行を追加して、トランザクション分離レベルを設定します:
transaction-isolation = [隔离级别]
そのうち、[分離レベル]は次のいずれかのオプションである可能性があります:
- リードアンコミテッド: 最も低いレベルの分離レベルで、トランザクションはコミットされていないデータを読み取ることができます。
- READ COMMITTED: トランザクションでコミット済みのデータの読み取りを許可します。InnoDB のデフォルトの分離レベルです。
- リピートリード:トランザクションが同じデータセットを何度も読み込んでもデータの変更が発生しないことを保証します。
- SERIALIZABLE:最も高い分離レベルで、トランザクション間の完全な分離が保証されますが、パフォーマンスの低下を招く可能性があります。
- 設定ファイルを保存して閉じる。
- 構成変更を反映させるために、MySQLサービスを再起動する
sudo service mysql restart
トランザクション分離レベルが設定されると、InnoDBは指定されたレベルに従ってトランザクション操作を実行します。