数据库面试题

 1.数据库的三范式是什么

第一范式:列不可再分(即实体中的某个属性有多个值时,必须拆分为不同的属性。
第二范式:行可以唯一区分,主键约束(要求数据库表中的每个实例或记录必须可以被唯一地区分
第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束(例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。

且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。

2.数据库引擎有哪些

如何查看 mysql 提供的所有存储引擎
mysql>showengines;

mysql常用引擎包括:MYISAMInnodbMemoryMERGE 

MYISAM :全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select insert 为主的应用基本上可以使用这引擎
Innodb: 行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MYISAM 2.5 倍,处理效率相对会差一些
Memory: 全表锁,存储在内容中,速度快,但会占用和数据量成正比的内存空间且数据 mysql 重启时会丢失,默认使用HASH 索引,检索效率非常高,但不适用于精确查找,主要用于那些内容变化不频繁的代码表
MERGE :是一组 MYISAM 表的组合

3.为什么要有索引

一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。

4.什么是索引?

 索引储存在硬盘上,索引在MySQL中也叫是一种“键”,是存储引擎用于快速找到记录的一种数据结构。本质是不断的缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件

5.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值