MySql 面试题+答案

1.什么是事务

事务是一种机制、一个操作序列,是访问和更新数据库的程序执行单元。事务中包含一个或多个数据库操作命令,会把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。

2.可能导致索引失效的场景

1.联合索引不满足最佳左匹配原则
2.模糊查询字段前面为不确定的匹配字符
3.索引列参与了运算
4.索引列使用了函数
5.索引列存在类型转换
6.索引列使用了is not null查询
7.使用了不等于(<>、!=)导致索引失效
8.or前后使用了不是索引列也会导致索引失效

3.聚簇索引和非聚簇索引的区别

聚簇索引:索引和数据都保存在叶子节点中,找到索引就找到数据,一个表只能有一个聚簇索引
非聚簇索引:索引和数据分开存储,叶子节点存储索引和数据物理地址,找到物理地址需要回表查询。一个表可以有多个聚簇索引。

4.datetime和timestamp的区别

1.存储方式不同:对于timestamp,数据库会把客户端插入的时间转成UTC(世界标准时间)进行存储。查询时又转化为客户端当前所在的时区的时间返回。对于datetime,存储不做任何改变,保持原样输入输出。
2.范围不同
3.存储大小不同

5.分组查询详解

https://blog.csdn.net/weixin_50179223/article/details/124025809

6.如何优化SQL语句

1.分析sql的结构,是否查询了不必要的字段。
2.分析sql执行语句是否命中索引。
3.如果sql很复杂,优化sql的结构
4.如果表数据量太大,考虑分表。

7.数据库三大范式

第一范式:每个列都是不可再分。
第二范式:在第一范式基础上,非主键列完全依赖于主键,而不是只依赖一部分。
第三范式:在第二范式基础上,非主键列只依赖于主键,不依赖于其他非主键。

8.SQL执行顺序

1.客户端建立连接,发送用户信息验证,权限验证
2.查询缓存,查到直接返回
3.缓存没有,调用解析器,对sql词法语法解析
4.调用优化器,对sql优化。
5.执行查询引擎,返回结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值