事务的4种隔离级别


关系型数据库存在的数据安全问题:

  • 脏读:一个事务读取到了另外一个事务未提交的数据。

  • 不可重复读:一个事务读取到了另外一个事务修改过并提交的数据。(一个事务过程中多次查询,查询的数据结果却不同)

  • 幻读(虚读):一个事务读取到了另外一个事务插入并提交的新数据。(一个事务过程中多次查询,却查询到了之前并不存在的记录)


事务的4种隔离级别:

  1. read uncommitted:读未提交(可读别人未提交的数据)–>最低级别(存在脏读、不可重复读、虚读问题)

  2. read committed:读已提交(可读别人已提交的数据)–>消除了脏读(存在不可重复读、虚读问题)

  3. repeatable read:可重复读(不读别人提交的数据)–>消除不可重复读(存在虚读问题)

  4. serializable:串行化(别人未提交就作等待不能读数据)–>消除虚读 最高级别 效率最低

  一般数据库都使用中间两种级别。

---------------- The End ----------------
0%