本文主要是介绍详细了解Mysql面试专题(技术在手天下我有),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.数据库三范式是什么?
- 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系
统都满足第一范式数据库表中的字段都是单一属性的,不可再分) - 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足
第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每
个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储
各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。 - 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三
范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关
键字信息。 >所以第三范式具有如下特征: >>1. 每一列只有一个
值 >>2. 每一行都能区分。 >>3. 每一个表都不包含其他表已经包含
的非主关键字信息。
2.有哪些数据库优化方面的经验?
- 用 PreparedStatement, 一般来说比 Statement 性能高:一个 sql
发给服务器去执行,涉及步骤:语法检查、语义分析, 编译,缓存。 - 有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,
那在设计数据库时就去掉外键。 - 表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等
- UNION ALL 要比 UNION 快很多,所以,如果可以确认合并的两个结
果集中不包含重复数据且不需要排序时的话,那么就使用 UNION
ALL。 >>UNION 和 UNION ALL 关键字都是将两个结果集合并为一
个,但这两者从使用和效率上来说都有所不同。 >1. 对重复结果的处
理:UNION 在进行表链接后会筛选掉重复的记录,Union All 不会去除
重复记录。 >2. 对排序的处理:Union 将会按照字段的顺序进行排
序;UNION ALL 只是简单的将两个结果合并后就返回。
3.请简述常用的索引有哪些种类?
- 普通索引: 即针对数据库表创建索引
- 唯一索引: 与普通索引类似,不同的就是:MySQL 数据库索引列的值
必须唯一,但允许有空值 - 主键索引: 它是一种特殊的唯一索引,不允许有空值。一般是在建表的
时候同时创建主键索引 - 组合索引: 为了进一步榨取 MySQL 的效率,就要考虑建立组合索引。
即将数据库表中的多个字段联合起来作为一个组合索引。
4.以及在 mysql 数据库中索引的工作机制是什么?
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更
新数据库表中数据。索引的实现通常使用 B 树及其变种 B+树
最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,SpringBoot、Spring Cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君羊:826021115
这篇关于详细了解Mysql面试专题(技术在手天下我有)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!