数据库常见面试题(附答案)

数据库常见面试题(附答案)

1.事务四大特性
原子性,要么执行,要么不执行

隔离性,所有操作全部执行完以前其它会话不能看到过程
一致性,事务前后,数据总额一致
持久性,一旦事务提交,对数据的改变就是永久的

2.数据库隔离级别

多个事务读可能会道理以下问题
脏读:事务B读取事务A还没有提交的数据
不可重复读:,一行被检索两次,并且该行中的值在不同的读取之间不同时
幻读:当在事务处理过程中执行两个相同的查询,并且第二个查询返回的行集合与第一个查询不同时 这两个区别在于,不可重复读重点在一行,幻读的重点
,返回 的集合不一样

示例图,Id =1这一行
在这里插入图片描述

幻读,返回的集合不一样
在这里插入图片描述
隔离级别总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpKc9pki-1590216797436)(http://note.youdao.com/yws/res/6317/WEBRESOURCEf94460a854aff8aab476a4504e60b26a)]

3.MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景
引擎 特性
MYISAM 不支持外键,表锁,插入数据时,锁定整个表,查表总行数时,不需要全表

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库索引是数据库管理系统中的重要概念,面试中经常会涉及与索引相关的问题。以下是一些常见数据库索引面试题及其答案: 1. 什么是数据库索引? 答:数据库索引是一种数据结构,用于快速查找和访问数据库中的数据。它类似于书籍的目录,通过提供键值和对应的数据位置,可以加速数据的检索和查询操作。 2. 为什么使用数据库索引? 答:数据库索引可以大大提高数据的检索效率。它通过创建索引结构,减少了数据库查询时需要扫描的数据量,从而加快了查询速度。索引还可以帮助优化排序、连接和聚合等操作。 3. 哪些列适合创建索引? 答:适合创建索引的列包括经常作为查询条件的列、经常进行连接(JOIN)操作的列、经常进行排序和分组的列,以及唯一性约束列等。对于频繁更新的列,如插入、删除和更新操作较多的列,不宜过多地创建索引。 4. 索引对数据库性能有什么影响? 答:索引可以提高查询性能,加快数据检索速度。但同时也会带来一些负面影响,如增加了存储空间的占用、增加了数据插入、删除和更新的时间开销,以及在维护索引时可能导致的锁竞争问题。因此,在创建索引时需要权衡索引的好处与开销。 5. 请解释聚集索引和非聚集索引的区别。 答:聚集索引(Clustered Index)决定了数据在磁盘上的物理排序顺序,一个表只能有一个聚集索引。非聚集索引(Non-clustered Index)则是基于表中某一列或多列的值创建的索引,它不会改变数据在磁盘上的物理排序顺序,一个表可以有多个非聚集索引。 这些是一些常见数据库索引面试题及其答案,希望对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值