【发布时间】:2011-09-30 11:45:12
【问题描述】:
我有一个 Django 应用程序,其中 InnoDB 中默认的“REPEATABLE READ”事务隔离级别导致不同进程对数据的视图与数据库中当前的数据视图不同。
例如流程 1 进行了更改,但流程 2 没有看到它。
我不需要应用程序中的事务完整性;我可以完全关闭事务,以便所有执行 SELECT 的进程看到相同的数据吗?
这样做有什么缺点吗?
这就是“READ UNCOMMITTED”的意思吗?
欢迎指点 雷切尔
【问题讨论】:
-
如果进度 1 进行了更改,如果它希望进程 2 看到它,它应该提交此更改。你为什么要离开这个?
-
因为我只是不想开启事务管理。我想要速度而不是交易完整性。我可以花时间调试为什么 Django 在我认为不应该的情况下保持事务处于打开状态;但由于我不关心交易,这似乎不是我时间的最佳利用方式。我正在移动 NoSQL 数据库中的一半数据;交易对我来说真的不重要。因此问题是——我可以把它关掉吗?