每日十题八股-2024年12月28日

1.索引已经建好了,那我再插入一条数据,索引会有哪些变化?
2.索引字段是不是建的越多越好?
3.如果有一个字段是status值为0或者1,适合建索引吗?
4.索引的优缺点?
5.怎么决定建立哪些索引?
6.索引优化详细讲讲?
7.了解过前缀索引吗?
8.事务的特性是什么?如何实现的?
9.mysql可能出现什么和并发相关问题?
10.哪些场景不适合脏读,举个例子?

1.索引已经建好了,那我再插入一条数据,索引会有哪些变化?

插入新数据可能导致B+树结构的调整和索引信息的更新,以保持B+树的平衡性和正确性,,这些变化通常由数据库系统自动处理,确保数据的一致性和索引的有效性。
如果插入的数据导致叶子节点已满,可能会触发叶子节点的分裂操作,以保持B+树的平衡性。

2.索引字段是不是建的越多越好?

当然不是,首先索引是需要一定的存储空间的,还有对于索引的维护也需要一定的性能消耗。

3.如果有一个字段是status值为0或者1,适合建索引吗?

不适合。其实和性别一样。应该选择区分度高的字段最为索引,这样才能实现加速查找的目的。

4.索引的优缺点?

缺点当然是消耗空间(存储)和性能资源(建立和维护)。
优点就是加速查找。

5.怎么决定建立哪些索引?

区分度,查找频率,唯一性,有序性。
字段有唯一性限制。
经常用于 WHERE 查询条件的字段,GROUP BY,ORDER BY。

经常更新的字段,数据少的表,重复量大区分度低的字段都不应该建立索引。

6.索引优化详细讲讲?

没看懂,问的是什么,回答的是什么。
在这里插入图片描述

7.了解过前缀索引吗?

https://www.cnblogs.com/studyzy/p/4310653.html
在这里插入图片描述

在这里插入图片描述

8.事务的特性是什么?如何实现的?

ACID,Atomicity(/ˌætəm’ɪsɪti/),Consistency(最终目的,其他的是手段。),Isolation,Durability。
持久性(Durability): 事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
隔离性(Isolation): 数据库允许多个并发事务同时对其数据进行读写和修改的能力,每个事务都有一个完整的数据空间,对其他并发事务是隔离的。
一致性(Consistency): 是指事务操作前和操作后,数据满足完整性约束,数据库保持一致性状态。
原子性(Atomicity): 一个事务中的所有操作,要么全部完成,要么全部不完成。
在这里插入图片描述

9.mysql可能出现什么和并发相关问题?

MySQL 服务端是允许多个客户端连接的,这意味着 MySQL 会出现同时处理多个事务的情况。
在同时处理多个事务的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题。
**脏读:**如果一个事务「读到」了另一个「未提交事务修改过的数据」,就意味着发生了「脏读」现象。如果在上面这种情况事务 A 发生了回滚,那么事务 B 刚才得到的数据就是过期的数据,这种现象就被称为脏读。
**不可重复读:**在一个事务内多次读取同一个数据,如果出现前后两次读到的数据不一样的情况,就意味着发生了「不可重复读」现象。
**幻读:**在一个事务内多次查询某个符合查询条件的「记录数量」,如果出现前后两次查询到的记录数量不一样的情况,就意味着发生了「幻读」现象。

10.哪些场景不适合脏读,举个例子?

脏读是什么?脏读是指一个事务在读取到另一个事务未提交的数据时发生。脏读可能会导致不一致的数据被读取。
在这里插入图片描述
其实都差不多。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值