后端八股笔记-----mysql

Mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
聚合查询————可以用增加一个实例表解决
多表查询————可以优化sql语句进行查询
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
👆 显示Using index condition的话 说明是有优化的空间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
三层b+树可以存放多少数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆唯一索引指的是类似主键这种数据内容唯一的属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆图中的最后一个sql的索引就失效了一个,因为key_len是303 只按照了name的索引去查询。
在这里插入图片描述
👆范围查询列中,第二个sql只命中到了status的索引,往后的索引失效了。
在这里插入图片描述
👆进行运算操作直接失效。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆union all会合并,即使有重复也会都展示,union会把重复的数据过滤掉(造成了速度慢)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

👆为并发事务造成的问题。
在这里插入图片描述
👆这就是脏读,读到了错误数据(本该更新但是还没更新的数据);(并发造成的问题)
在这里插入图片描述
👆不可重复读,指的就是id为1的数据读了两次,但是中间被提交更新了,所以读到的数据不一样。(失去了事务的一致性)

在这里插入图片描述
👆中,假设已经解决了不可重复读问题,那么两次select读到的数据是一样的,都是db中没有数据,但是插入操作执行的时候又显示有该数据(幻读)
在这里插入图片描述
其中 ×为可以解决的问题,√为不能解决的问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提升了效率保证了安全性,因为如果一一的去磁盘更新数据,磁盘太分散效率低,通过被写入的log文件来更新信息的话,可以对磁盘进行顺序的更新访问效率提升较多,而且磁盘中的log文件和内存中的log文件还可以进行数据恢复,保证了安全性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆当前读,两个select读到的内容不一样
快照读,read committed是不保证重复读(不可重复度),两次读的不一样
而快照读 ,Repeatable Read是保证重复读。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
RC的隔离级别下的访问 参照上图的 执行事务5, 确定在记录中的trx_id是4,然后依次判断右边的条件,最后 第一次查询只能访问到事务2提交后的记录 第二次 事务3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

👆主从同步原理是根据两个日志文件实现的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库三大范式

数据库引擎

myisam是mysql5.5之前的默认引擎
myisam不支持事务
myisam吧数据和索引分开存储
myisam只支持表锁,innodb支持行锁、表锁、间歇锁。

  • 13
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当面试官要求你回答一个关于 Python 的典型问题时,下面是一个可能的八股文回答模板: 首先,我会对问题进行理解和分析,确保我准确地理解了问题的要求和背景。 然后,我会按照以下结构来回答问题: 1. **问题背景和解决思路**:我会简要介绍问题的背景和解决思路。例如,如果问题是关于列表的操作,我可能会解释什么是列表以及如何使用它们来存储和操作数据。 2. **核心代码实现**:接下来,我会给出一个基本的代码实现,以展示我对问题的理解和能力。我会尽量保持代码简洁而清晰,并结合注释来解释代码的每一步。 3. **优化和扩展**:在展示基本实现之后,我还可以讨论如何优化代码以提高性能或满足更复杂的需求。我可以提出一些常见的优化策略,例如使用生成器、使用递归等。 4. **错误处理和异常处理**:此外,我还可以谈谈在代码中处理错误和异常的重要性。我会提到一些常见的错误和异常类型,并解释如何使用 try-except 语句来捕获和处理它们。 5. **应用场景和实际例子**:最后,我会给出一些实际的应用场景和示例,以展示我对 Python 的灵活运用能力。我可以谈论一些常见的 Python 库和框架,以及它们在实际项目中的使用案例。 通过以上结构,我可以清晰地展示我对 Python 的理解、能力和经验,并给面试官留下一个积极的印象。当然,在回答问题时,我也会根据具体问题的要求进行适当调整和补充。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值