我有一个 Django 应用程序,其中 InnoDB 中默认的“REPEATABLE READ”事务隔离级别导致不同的进程具有与数据库中当前数据不同的数据视图。
例如,进程 1 已进行更改,但进程 2 没有看到它。
我不需要应用程序中的交易完整性;我可以完全关闭事务,以便所有执行 SELECT 的进程看到相同的数据吗?
这样做有什么缺点吗?
这就是“READ UNCOMMITTED”的意思吗?
欢迎任何指点雷切尔
我建议您将 InnoDB 表转换为 myISAM。如果您的标准是速度,那么您通过使用面向事务的表类型(InnoDB)并仅禁用事务来浪费大量潜力。如果您只是将表转换为 myISAM,您将会获益匪浅。它的设计考虑到缺乏事务,同时仍然能够锁定更改(即表锁)。
一个干净的
ALTER TABLE table_name ENGINE = MyISAM;
Run Code Online (Sandbox Code Playgroud)
可以对单个表执行此操作,转储、更改类型和加载表也可以执行此操作。
| 归档时间: |
|
| 查看次数: |
13780 次 |
| 最近记录: |