MySQL
MySQL
SELECT @@transaction_isolation; -- 默认 REPEATABLE-READ
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; -- 仅下一个事务PostgreSQL
PostgreSQL
SHOW default_transaction_isolation; -- 默认 read committed
BEGIN ISOLATION LEVEL REPEATABLE READ;
-- 或 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;| READ UNCOMMITTED | 允许脏读;PG 实际按 READ COMMITTED 处理(无法真正启用) |
|---|---|
| READ COMMITTED | 语句级快照;PG 默认 |
| REPEATABLE READ | 事务级快照;MySQL 默认,InnoDB 一致性读 |
| SERIALIZABLE | 严格的串行化保证;PG 用 SSI 检测,冲突时序列化失败需重试 |