MySQL面试题详解

优化

如何定位慢查询

mysql中慢查询通常发生在以下几种情况,聚合查询多表查询表数据量过大查询深度分页查询

表象:页面加载过慢,接口压测响应时间过长(超过1s)

定位慢查询的方法主要有两种。方法一是利用开源工具(调试工具有Arthas,运维工具有Prometheus,Skywalking);方法二是开启MySQL自带的慢日志功能在MySQL的配置文件中(/etc/my.cnf)配置如下信息

 sql执行很慢,如何分析?

可以用EXPLAIN获得DESC命令获取Mysql如何执行SELECT语句信息

 索引

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(B+树),这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

 聚集索引和非聚集索引

 覆盖索引是指查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到。(不需要回表查询)

索引失效

 SQL优化

 事务

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

事务的特性:

原子性A:事务是不可分割的最小操作单元,要么全部成功,要么全部失败。

一致性C:事务完成时,必须使所有的数据都保持一致状态。

隔离性I:数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境运行。

持久性D:事务一旦提交成功,他对数据库的数据的改变是永久的。

并发事务问题

 MVCC

mvcc:多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,mvcc的具体实现依赖于数据库记录中的隐藏字段,undo log,readView

 

 

 主从同步

 

分库分表

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝味啊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值