Mysql事务一致性,原子性是如何实现的?
首先是通过锁和mvcc实现了执行过程中的一致性和原子性
其次是在灾备方面通过Redo log实观,Redo log会把事务在执行过程中对数据库所做的所有修改都记录下来,在之后系统崩溃重启后把事务所做的任何修改都恢复出来。
Mysql事务的持久性是如何实现的?
使用Redo log保证了事务的持久性。当事务提交时,必须先将事务的所有日志写入日志文件进行持久化,就是我们常说的WAL(writeahead log机制,如果出现新电重启便可以从redolog中恢复,如果redolog写入失败赂么也就意味着修改失败整个事务也就直接回滚了.
表级锁和行级谈有什么区别?
表级锁:串行化(serializable)时,整表加锁,事务访问表数据时需要申请锁,虽然可分为读锁和写锁,但毕竟是锁住整张表,会导致并发能力下降,一般是做 ddl 处理时使用
行级锁:除了串行化(serializable)时InnoDB使用的都是行级锁,只镀一行数据,其他行数掘不影响,并发能力强.。
什么是行级锁? Mysql如何完成的?
行级锁实现比较复杂不是单纯领住一行数据,是由mvcc完成的。
什么是共享谈(读锁)?
共享锁或S锁,其它事务可以继续加共享琐,但不能加对它锁
什么是排它锁(写锁/独占锁)?
排它锁或X锁,在进行写授作之前要申请并获得&#