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.哪些场景不适合脏读,举个例子?
脏读是什么?脏读是指一个事务在读取到另一个事务未提交的数据时发生。脏读可能会导致不一致的数据被读取。

其实都差不多。

被折叠的 条评论
为什么被折叠?



