加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Java面经——数据库Mysql篇(持续更新中......)

发布时间:2022-12-12 14:34:57 所属栏目:MySql教程 来源:未知
导读: 1、说说数据库的三大范式?第一范式:每个列都不可以在拆分第二范式:在第一范式的基础上,非主键列完全依赖于主键列mysql数据表,而不是一部分第三范式:在第二范式的基础上,非主键列只依

1、说说数据库的三大范式?第一范式:每个列都不可以在拆分第二范式:在第一范式的基础上,非主键列完全依赖于主键列mysql数据表,而不是一部分第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键2、什么是Mysql?

Mysql是一个开源免费的关系型数据库管理系统

3、Mysql有关的权限表都有哪些?

user权限表:记录允许连接到服务器的用户账号信息,里面的权限是全局级的

db权限表:记录各个账号在各个数据库上的操作权限

table_priv权限表:记录数据表级的操作权限

columns_priv权限表:记录数据列级的操作权限

host权限表:与db权限表对给定主机上数据库级操作权限更细致的控制

4、数据库中经常使用的聚合函数有哪些?

count: 返回行数

max:返回列中的最大值

min: 返回列中的最小值

sum: 返回列和

avg:平均值

date: 返回日期值

5、Mysql的binlog有几种录入的格式?区别是什么?6、MySQL有哪些数据类型?整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT实数类型:FLOAT、DOUBLE、DECIMAL字符串类型:VARCHAR、CHAR、TEXT、BLOB枚举类型:ENUM日期和时间类型:timestamp、datetime等等7、说说存储引擎MyISAM与InnoDB的区别?8、知道索引吗?如何创建?都有哪些常见索引?

索引是一种特殊的数据结构,可以提高数据的检索效率,因此在数据库数据存储的同时,我们也经常会创建索引。

创建索引的语法:

create index

常见的索引有:

9、说说索引的数据结构?

索引的数据结构和具体的存储引擎有关,InnoDB默认索引数据结构为B+树。

10、说说事务的四大特性?四大特性靠什么保证?

事务的四大特性就是ACID

A原子性由undo log日志保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的语句

C一致性由其他三大特性保证、业务代码要保证业务上的一致性

I隔离性由MVCC保证

D持久性由内存和redo log来保证,mysql修改数据的时候在内存和redo log记录这次操作,宕机的时候可以从redo log恢复

11、什么是脏读、幻读、不可重复读?

脏读:一个事务读取到另一个事务提交的数据

幻读:一个事务多次读取数据的笔数不一致

不可重复读:一个事务两次查询数据不一致

12、说说事务的隔离级别,MySQL默认的隔离级别是什么?

MySQL默认的隔离级别是可重复读

13、说说对慢查询可以怎么优化?

1.检查是否走了索引,没有则看是否能优化索引

2.检查查询的所有字段是否必须

3.检查表中的数据是否过多了

4.检查数据库所在的机器性能配置是否太低了

14、说说InnoDB是怎么实现事务的?

InnoDB是通过Buffer Pool, LogBuffer, Redo Log, Undo Log来实现事务,用一个update语句分析如下:

1.InnoDB收到一个update语句后,根据条件找到数据所在的页,并将该页缓存在Buffer Pool中

2.执行语句,修改Buffer Pool中的数据,也就是内存中的数据

3.对update语句生成一个RedoLog对象,并存入LogBuffer中

4.对update语句生成undolog日志,用于事务回滚

5.如果事务提交,那么则把RedoLog对象进行持久化

6.如果事务发生回滚,则根据undolog日志进行回滚

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!