“`”

<strong>SQL 标准定义了四个隔离级别:</strong>

<ul><li><strong>READ-UNCOMMITTED(读取未提交):</strong> 最低的隔离级别,允许读取尚未提交的数据变更,<strong>可能会导致脏读、幻读或不可重复读</strong>。</li><li><strong>READ-COMMITTED(读取已提交):</strong> 允许读取并发事务已经提交的数据,<strong>可以阻止脏读,但是幻读或不可重复读仍有可能发生</strong>。</li><li><strong>REPEATABLE-READ(可重复读):</strong> 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,<strong>可以阻止脏读和不可重复读,但幻读仍有可能发生</strong>。</li><li><strong>SERIALIZABLE(可串行化):</strong> 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,<strong>该级别可以防止脏读、不可重复读以及幻读</strong>。</li></ul>

<hr>

<br>

<table class=""table table-bordered""><tbody><tr><td>隔离级别<br></td><td>脏读<br></td><td>不可重复读<br></td><td>幻影读<br></td></tr><tr><td>READ-UNCOMMITTED<br></td><td>√<br></td><td>√<br></td><td>√<br></td></tr><tr><td>READ-COMMITTED<br></td><td>×<br></td><td>√<br></td><td>√<br></td></tr><tr><td>REPEATABLE-READ<br></td><td>×<br></td><td>×<br></td><td>√<br></td></tr><tr><td>SERIALIZABLE<br></td><td>×<br></td><td>×<br></td><td>×<br></td></tr></tbody></table>

<br>

<pre><code> "“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.