1.数据库的三范式是什么
第一范式:列不可再分(即实体中的某个属性有多个值时,必须拆分为不同的属性。 )第二范式:行可以唯一区分,主键约束(要求数据库表中的每个实例或记录必须可以被唯一地区分 )第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束(例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。 )且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。
2.数据库引擎有哪些
如何查看 mysql 提供的所有存储引擎mysql>showengines;
mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE
MYISAM :全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select 、 insert 为主的应用基本上可以使用这引擎Innodb: 行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MYISAM 的 2.5 倍,处理效率相对会差一些Memory: 全表锁,存储在内容中,速度快,但会占用和数据量成正比的内存空间且数据 mysql 重启时会丢失,默认使用HASH 索引,检索效率非常高,但不适用于精确查找,主要用于那些内容变化不频繁的代码表MERGE :是一组 MYISAM 表的组合
3.为什么要有索引
一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。
4.什么是索引?
索引储存在硬盘上,索引在MySQL中也叫是一种“键”,是存储引擎用于快速找到记录的一种数据结构。本质是不断的缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件
5.