数据库,隔离级别
RU,read uncommitted
RC,read committed,读已提交,使用MVCC实现,不加锁,快照读,在每一个语句开始时创建快照
RR,repeatable read,可重复读,MVCC实现,快照读,在每一个事务开始时创建
可串行化,serializable
脏读,读未提交的数据
不可重复读,在一个事务内两次读取数据不一致,在该事务内,另一个事务在两次读之间修改了数据(update或insert或delete)
幻读Phantom Read,当一个事务读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。
举例,事务A查询数据“张三”不存在,事务B在该范围内插入了“张三”并提交,事务A再查询时,由于可重复读,看不到“张三”,但想插入“张三”这条数据,却不会成功。
幻读侧重的方面是某一次的 select 操作得到的结果所表征的数据状态无法支撑后续的业务操作。更为具体一些:select 某记录是否存在,不存在,准备插入此记录,但执行 insert 时发现此记录已存在,无法插入,此时就发生了幻读。
record lock,记录锁
gap lock,间隙锁
next key技术是啥?
数据查询语言DQL,select
数据操纵语言DML,delete insert update
数据定义语言DDL,创建修改数据库表结构
数据控制语言DCL,创建用户,授予收回权限