标签 Java常见问题 下的文章

MVCC 了解吗?怎么实现的?MVCC(Multi Version Concurrency Control),中文名是多版本并发控制,简单来说就是通过维护数据历史版本,从而解决并发访问情况下的读一致性问题。关于它的实现,要抓住几个关键点,隐式字段、undo 日志、版本链、快照读&当前读、Read View。

- 阅读剩余部分 -

事务的隔离级别有哪些?MySQL 的默认隔离级别是什么?事务的四个隔离级别如下:读未提交(Read Uncommitted):最低的隔离级别,事务中的修改可以被其他事务读取,即一个事务可以读取另一个事务尚未提交的数据。这种隔离级别存在脏读(Dirty Read)问题,可能读取到未经确认的不一致数据。

- 阅读剩余部分 -

意向锁是什么知道吗?意向锁是一种表级锁,与插入意向锁不要混淆。意向锁的引入是为了支持InnoDB的多粒度锁,并解决表级锁和行级锁共存的问题。当需要给表加表级锁时,我们需要判断表中是否有数据行被锁定,以确定是否能成功加锁。

- 阅读剩余部分 -

说说 InnoDB 里的行锁实现?InnoDB的行级锁实现主要包括以下三种类型:记录锁(Record Lock):直接锁定单行记录。当使用唯一性索引(包括唯一索引和聚簇索引)进行精确匹配的等值查询时,会直接锁定该行记录。例如,执行select * from t where id = 6 for update;会锁定id=6的记录。

- 阅读剩余部分 -