MYSQL 面试常见问题汇总
参考博客:
https://blog.csdn.net/weinierzui/article/details/71054964
Q1:主键,外键,超键,候选键;
主键 | 对表中数据进行唯一标识的数据列的组合;不能缺失;不能空值; |
外键 | 该列为另一表的主键; |
超键 | 关系中能唯一标识数据的属性; |
候选键 | 不含多余属性的超键; |
Q2:数据库事务的四个特征及含义;
原子性 | 要么全部完成,要么不完成,若发生错误会进行回滚操作; |
一致性 | 开始到结束后,数据库完整性约束没收到破坏;(实体完整性,参照完整性,用户定义的完整性) |
隔离性 | 事务与事务之间相隔离,串行化执行; |
持久性 | 事务完成对数据的影响是永久的; |
Q3:视图的作用,可以更改吗;
视图是虚拟的表;只包含动态检索数据的查询,不包含数据;简化操作,隐藏细节,保护数据;对视图的更新会作用于基表,一般不更新; |
Q4:drop,delete和truncate ;
drop | 表级的删除;不能回滚; |
truncate | 清空表;不记录单行删除日志;无法恢复;只能对于TABLE操作;不能在带FOREIGN KEY约束的表(被引用的表)中使用;计数从头开始; |
delete | 配合where删除数据;会记录日志用于回归;会触发触发器;不减少索引和表的空间; |
Q5:索引的工作原理和其种类;
索引的实现通常采用B树或B+树,加快查询速度也消耗更多空间;
唯一索引 | 不允许任何两行具相同值 |
主键索引 | 唯一索引的一种 |
聚集索引 | 行的物理顺序和键值的索引顺序相同 |
普通索引 | 无限制 |
全文索引 | 针对较大的数据生成全文索引很耗时间空间 |
组合索引 | 最左前缀原则:若对多列建立组合索引,若第二列未使用索引,则第三列也不会使用 |
InnoDB | 主索引:InnoDB的数据文件本身;辅助索引:相应记录主键的值 |
MyISAM | 索引与数据分离;辅助索引:与主索引无区别; |
Q6:连接的种类
内部联接(等值联接) | INNER JOIN |
外部联接(包含在相关表中没有关联行的行) | LEFT OUTER JOIN |
RIGHT OUTER JOIN |
Q7:数据库范式
1NF | 每一列都是不可分割的基本数据项,同一列无二值;无重复的域; |
2NF | 实例依赖于主键部分; |
3NF | 属性不依赖于其他非主属性; |
Q8:存储过程与触发器的区别
存储过程和触发器都是SQL语句集;触发器不可用CALL调用,而是在用户执行某些语句后自动调用;
Q9:分表与分区
分表 | 真正的分表,每张表对应三个文件;提高MYSQL的并发能力; |
分区 | 表中的数据分成多个区块;突破磁盘的读写能力; |
Q10:数据库隔离级别
脏读 | 一个事务读取了另一个事务未提交的数据 |
不可重复读 | 在一次事务范围内,读取同一数据产生了不同的值 |
虚读 | 读取整体的数据后,因其他事务对数据的更新,再次查询时结果不同 |
串行化 | 3种均可避免 |
可重复读(默认) | 避免1,2 |
读已提交 | 1 |
读未提交 | 无 |
Q11:MYSQL的两种存储引擎
MYISAM | 不支持事务,不支持外键,表锁;插入数据时锁定整个表,查行数时无需整表扫描 |
INNODB | 支持事务,外键,行锁,查表总行数时,全表扫描; |
Q12:MYSQL索引算法
HASH | 适合等值查找,不适合范围,不能排序 |
BTREE | 适合范围查找,无hash冲突 |
Q13:聚集索引和非聚集索引
聚集索引 | 数据按索引顺序存储,节点存储的是真实数据 |
非聚集索引 | 节点存储的是指向真正数据的指针 |
Q14:索引的优缺点
优点 | 提高查询效率 |
缺点 | 降低了更新效率 |
Q15:两种存储引擎索引的区别
Innodb | 主索引的数据文件本身就是索引文件;辅助索引记录主键的值; |
MyISAM | 主索引数据文件和索引文件分离;与主索引无区别; |
Q16:数据库的主从复制
一个服务器作为主服务器,一个或多个服务器作为从服务器,主服务器将更新写到二进制日志,当一个从服务器连接到主服务器时,通知主服务器读取日志,接收从那时起发生的所有更新。解决:数据分布,负载平衡,备份,高可用性和容错性
基于语句 | 在主服务器上执行的语句,在从服务器上也执行 |
基于行 | 将改变的内容复制过去 |
混合类型 | 语句复制失败时采用行的形式 |
Q17:数据库连接池
为数据库连接建立一个缓冲池,防止过于大量的连接的建立与管理;
Q18:存储过程
存储过程是一些预编译的SQL语句,执行效率较高
Q19:乐观锁和悲观锁
乐观锁 | 假定不会发生并发冲突,只在提交时检查,若有其他数据更新了数据,则回滚;使用数据版本标示数据(时间戳,版本号) |
悲观锁 | 假定会发生并发冲突,屏蔽一切破坏数据库一致性的操作,主要用于数据争用激烈的环境,以及锁成本低于回滚成本时;排他锁; |
MYSQL 面试常见问题汇总相关推荐
- tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总
简述 本文主要介绍TCP四次挥手的工作原理,以及在面试中常见的问题. 字段含义 seq序号:Sequence Number,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行 ...
- 复旦计算机考研复试要口试吗,2017复旦大学考研复试:英语口语面试常见问题汇总...
2017复旦大学考研复试:英语口语面试常见问题汇总本站小编 辅仁网/2017-12-29 A magazine publisher is trying to decide how many magaz ...
- c++面试常见问题汇总
c++面试常见问题汇总 1. 指针和引用的区别? 2. 堆栈的区别? 3. new 和 delete 是如何实现的,与 malloc 和 free有什么异同? 4. struct 和 class 的区 ...
- 复旦计算机英语面试问题,2017复旦大学考研复试:英语口语面试常见问题汇总...
2017复旦大学考研复试:英语口语面试常见问题汇总 考研复试中的英语面试是很多小伙伴都感到"无力"的一个环节.其实,英语口语并没有大家想象的那么可怕.下面是一些面试官最爱问的问题, ...
- 【面试】Java面试常见问题汇总(不含答案)、面试指导学习笔记
面试常见问题角度 String是基本数据类型吗? int和Integer有什么区别? HashMap和HashTable的区别,及其实现原理. ArrayList/HashMap的源码.如何实现源码 ...
- mysql数据库常见问题_初学者必读 MySQL数据库常见问题汇总
1.关于自增字段重新赋初值的问题? ALTER TABLE tbl AUTO_INCREMENT = 1; 2.如何实现mysql中自增长字段的功能? 以下为引用的内容: create table a ...
- PMP项目经理求职面试常见问题汇总
如果你已经取得了PMP证书,没有太多的项目经验,但正打算通过面试来求得一份项目经理的工作.我建议你好好准备一下这几类问题: 1.进度优化.比如:当进度延误时如何处理? 2.资源优化.比如:当前项目中的 ...
- 运维开发面试常见问题汇总(一直在更新)
1.我看你做过LVS,说一下你对LVS的理解? 2 DR模式和NAT模式的区别.优缺点 NAT模式要求: 1.LVS服务器需要有不同的网段. 2.真实服务器的网关必须设置为LVS的ip地址. 优点: ...
- vue 前端面试常见问题汇总(11-20)
目录 前言 一.谈一谈 nextTick 的原理? 二.vue 是如何对数组方法进行变异的?例如 push.pop.splice 等方法 三.Vue 中的 computed 和 watch 的区别在哪 ...
- MySQL面试知识点汇总
文章目录 数据库基础知识部分 为什么要使用数据库 什么是SQL 什么又是MySQL 数据库的三大范式是什么 Mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? ...
最新文章
- git 初次push
- .NET本质论 类型基础
- 练习angularjs的ng-click的应用
- SAP API开发方法大全
- C#异步批量下载文件
- bcp生成excel文件优化方案
- android服务开启线程,android之service与intentService的不同
- [面试]synchronized
- 请简述一下RS485通讯连接方式及其应用?
- 数据仓库分层设计思想
- PMP项目管理—项目风险管理(7)
- DappRadar x BGA 7月链游报告:链游占行业用量近60%,融资额降至3亿美元
- J9数字论:关于区块链的那些专业术语
- 英国脱欧要拍电视剧了,卷福将是男主角
- 租赁合同甲方违约怎么办
- 什么软件能在线支持视频配音文字转语音?
- C语言if语句学习,判断年龄并且提示语句!
- CentOS7 定时任务
- 关于minimize跟驰豫的问题
- ThreadingTest软件测试界顶层设计--由中国人引领的数字化软件测试时代来了
热门文章
- leaflet快速渲染聚合矢量瓦片(附源码下载)
- vue 身份证格式校验
- 圣诞礼物|2020年送这些礼物你就能拥有一个程序员男朋友
- linux学校_济南教师招聘 |济南市益友培训学校7大岗位教师招聘(月薪4k15k、包住)...
- 手绘板的制作——重置与橡皮擦(2)
- 电脑重装系统后当前安全设置不允许下载该文件
- 【无标题】adsa da das
- java愤怒的小鸟教学_JAVA课程设计——愤怒的小鸟(团队)
- macbook键盘失灵
- 如何对NTFS文件进行压缩和加密