1 MySQL服务器逻辑架构图
2 读写锁
读锁 可以同一时刻同时读取资源 写锁 同一时刻不可以同时操作 以及表锁和行级锁
3 事务
是一个独立的单元 通俗的讲是一组操作,一个事务的完成,需要所有的操作都成功实现
一个运行良好的事务,需要有原子性atomicity,一致性consistency,隔离性isolation,持久性durability, 即ACID
原子性
一个事物被视为不可分割的最小工作单元,整个事务要么全部成功,要么全部失败
一致性
数据库从一个一致性的状态转换到另一个一致性状态,即 在执行中发生崩溃,事务中所作的修改不会保存到数据库中
隔离性
一个事务所做的修改在最终提交以前,对其他事务是不可见的
持久性
一旦事务提交,则其所作的修改永久保存
3 隔离级别
未提交读 事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据(脏读)
提交读 一个事务开始时,只能看见已经提交的事务所做的修改。即从开始直到提交之前,所做的任何修改
对其他事务是不可见的
可重复读 保证在同一个事务中多次读取同样记录的结果是一致的。 但是会导致幻读。即当某个事务在读取
某个范围内的记录时,另外一个事务又在该范围内插入了新的记录,当之前的事务再次读取该范围的
记录是,会产生幻行
可串行化 强制事务串行执行。即在读取的每一行数据上都加锁