![](https://csdnimg.cn/release/download_crawler_static/88584342/bg1.jpg)
1.数据库三范式是什么?
1. 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系 统都满足
第一范式数据库表中的字段都是单一属性的,不可再分)
2. 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足 第二范式
(2NF)必须先满足第一范式(1NF)。要求数据库表中的每 个实例或行必须可
以被惟一地区分。通常需要为表加上一个列,以存储 各个实例的惟一标识。这个
惟一属性列被称为主关键字或主键。
3. 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三 范式(
3NF)要求一个数据库表中不包含已在其它表中已包含的非主关 键字信息。 >
所以第三范式具有如下特征: >>1. 每一列只有一个
值 >>2. 每一行都能区分。 >>3.
每一个表都不包含其他表已经包含 的非主关
键字信息。
2.有哪些数据库优化方面的经验?
1. 用 PreparedStatement, 一般来说比 Statement 性能高: 一个 sql
发给服务器去执行,涉及步骤:语法检查、语义分析, 编译,缓存。
2. 有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性, 那在设计
数据库时就去掉外键。
3. 表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等
4. UNION ALL
要比 UNION 快很多,所以,如果可以确认合并的两个结 果集中不
包含重复数据且不需要排序时的话,那么就使用 UNION
ALL。 >>UNION 和 UNION ALL 关键字都是将两个结果集合并为一 个,但这
两者从使用和效率上来说都有所不同。 >1. 对重复结果的处 理: UNION 在进
行表链接后会筛选掉重复的记录, Union All 不会去除 重复记录。 >2. 对排序的
处理: Union 将会按照字段的顺序进行排
序; UNION ALL 只是简单的将两个结果合并后就返回。
3.请简述常用的索引有哪些种类?
1. 普通索引: 即针对数据库表创建索引
2. 唯一索引: 与普通索引类似,不同的就是: MySQL 数据库索引列的值 必须唯一
,但允许有空值
3.
主键索引: 它是一种特殊的唯一索引,不允许有空值。 一般是在建表的 时候同时
创建主键索引
4. 组合索引: 为了进一步榨取 MySQL 的效率,就要考虑建立组合索引。 即将数据
库表中的多个字段联合起来作为一个组合索引。
4.以及在 mysql 数据库中索引的工作机制是什么?
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更 新数据库
表中数据。索引的实现通常使用 B 树及其变种 B+树
5.MySQL 的基础操作命令: