加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL DBA面试常见问题总结--索引,事务,存储引擎,优化等

发布时间:2019-08-18 08:30:59 所属栏目:编程 来源:波波说运维
导读:这篇文章主要是针对开发人员的,所以不涉及到MySQL的服务部署等操作,主要包括索引,事务,存储引擎,优化等方面。 一、索引 关于MySQL的索引,之前实际上也介绍了很多次,这里主要介绍一些常用的面试题。 1. 什么是索引?索引是个什么样的数据结构呢? 索引是一

多事务的并发进行一般会造成以下几个问题:

  • 脏读:A事务读取到了B事务未提交的内容,而B事务后面进行了回滚.
  • 不可重复读::当设置A事务只能读取B事务已经提交的部分,会造成在A事务内的两次查询,结果竟然不一样,因为在此期间B事务进行了提交操作.
  • 幻读::A事务读取了一个范围的内容,而同时B事务在此期间插入了一条数据.造成"幻觉".

3. 怎么解决这些问题呢?MySQL的事务隔离级别了解吗?

MySQL的四种隔离级别如下:

(1) 未提交读(READ UNCOMMITTED)

这就是上面所说的例外情况了,这个隔离级别下,其他事务可以看到本事务没有提交的部分修改.因此会造成脏读的问题(读取到了其他事务未提交的部分,而之后该事务进行了回滚).

这个级别的性能没有足够大的优势,但是又有很多的问题,因此很少使用.

(2) 已提交读(READ COMMITTED)

其他事务只能读取到本事务已经提交的部分.这个隔离级别有 不可重复读的问题,在同一个事务内的两次读取,拿到的结果竟然不一样,因为另外一个事务对数据进行了修改.

(3) REPEATABLE READ(可重复读)

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读