您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页MySQL的transactionlevel对django的影响

MySQL的transactionlevel对django的影响

来源:华拓科技网


默认: transaction level对mysql是REPEATABLE READ, 这样一个mysql session内,每次读到的资料都是不变的, 不管其他事务对表做了什

默认: transaction level对mysql是REPEATABLE READ, 这样一个mysql session内,每次读到的资料都是不变的, 不管其他事务对表做了什么更新. 这样性能比较高, 但却未必是得到准确的符合数据库最新情况的资料, 可能程序里会遭遇一些异常, 例如django的get_or_create()调用执行碰到奇怪: 明明是无法get, 自动转做create,但数据库就说记录冲突.

应该: 改用READ COMMITTED, 这是与Oracle一致的.

在my.cnf里[mysqld]下写:

transaction-isolation=READ-COMMITTED

mysql> select @@global.tx_isolation;
+———————–+
| @@global.tx_isolation |
+———————–+
| READ-COMMITTED |
+———————–+
1 row in set (0.03 sec)

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务