2024年 Java 面试八股文——MySQL篇

目录

1、Select 语句完整的执行顺序    难度系数:⭐

2、MySQL事务    难度系数:⭐⭐

3、MyISAM和InnoDB的区别    难度系数:⭐

4、悲观锁和乐观锁的怎么实现     难度系数:⭐⭐

5、聚簇索引与非聚簇索引区别     难度系数:⭐⭐

6、什么情况下mysql会索引失效    难度系数:⭐

7、B+tree 与 B-tree区别    难度系数:⭐⭐

8、数据库分表操作    难度系数:⭐

9、MySQL优化    难度系数:⭐

10、SQL语句优化案例    难度系数:⭐


1、Select 语句完整的执行顺序    难度系数:⭐

查询中用到的关键词主要包含如下展示,并且他们的顺序依次为

form...on...leftjoin...where...group by...avg()/sum()...having..select... order by...asc/desc...limit...

from: 需要从哪个数据表检索数据

where: 过滤表中数据的条件

group by: 如何将上面过滤出的数据分组算结果

order by : 按照什么样的顺序来查看返回的数据

2、MySQL事务    难度系数:⭐⭐

  1. 原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。
  2. 一致性:事务的执行使得数据库从一种正确状态转换成另一种正确状态
  3. 隔离性:在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,
  4. 持久性:事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,
  5. 事务的处理结果也会得到保存。

MySQL事务隔离级别

事务隔离级别 脏读 不可重复读 幻读
读未提交(read-uncommitted)
读已提交(read-committed)

可重复读(repeatable0read)

可串行读(serializable)

3、MyISAM和InnoDB的区别    难度系数:⭐

1.MyISAM 存储引擎

主要特点:

MySQL5.5 版本之前的默认存储引擎,支持表级锁(表级锁是 MySQL 中锁定粒度最大的一种锁,表示对当前操作的整张表加锁);不支持事务,外键。

适用场景:对事务的完整性没有要求,或以 select、insert 为主的应用基本都可以选用

MYISAM。在 Web、数据仓库中应用广泛。

特点:

1、不支持事务、外键

2、每个 myisam 在磁盘上存储为 3 个文件,文件名和表名相同,扩展名分别是

.frm-------存储表定义

.MYD --------MYData,存储数据

.MYI--------MYIndex,存储索引

2.InnoDB 存储引擎

主要特点:

MySQL5.5 版本之后的默认存储引擎;支持事务;

支持行级锁(行级锁是 Mysql 中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁);

支持聚集索引方式存储数据

4、悲观锁和乐观锁的怎么实现     难度系数:⭐⭐

悲观锁优化

  1. 确保使用索引
    如之前所述,使用 SELECT ... FOR UPDATE&n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值