文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- @[TOC](文章目录)
- 前言
- 一、语句的分类
- 二、事务的四大特性
- 三、隔离级别的理解
- 1(read uncommitted)**读未提交**
- 2 (read committed)**读已提交**
- 3(repeatable read)**可重复读**
- 4(serializable)**串行化**
- 四 索引 (index)
- 1、索引的创建
- 2、索引的实现原理
- 五、范式讲解
- 1、第一范式
- 2、第二范式
- 3、第三范式
- 总结
提示:这里可以添加本文要记录的大概内容:
MySQL很重要的入门(面试)知识点!!超容易理解的事务隔离特性,索引,范式!!
关键字执行顺序:
from > join > where > group by> having > select >order > limit
提示:以下是本篇文章正文内容,下面案例可供参考
DDL:数据定义(creat,alter…)语句
DQL:数据查询(select)语句
DML:数据管理(增删改)语句
TCL:事务控制语句
ACID
A (Atomicity):原子性 即属性(字段)不可再分。
C(Consistency):一致性,事务前后数据的完整性必须保持一致即都完成了或者都没完成。
I(Isolation):隔离性,事务之间不能互相干扰,有隔离级别的区分。
D(Durability):持久性,事务一旦提交,就写入磁盘,电脑重启数据还会保持。
离级别按编写顺序逐步增强,因为每个级别都会产生新的问题就像bug一样,解决这个,冒出了那个,直到最高级别串行化,解决了所有问题。那为什么不直接用串行化呢,因为每个级别都有一定的优点。
1(read uncommitted)读未提交- 产生的问题:幻读
众所周知 事务需要comite才能正儿八经的更改,但是当确认之前,如果有别的事务来读取此数据, 就会读到没确认的数据,那万一其实是改错的 回滚了呢?你还是读去了,就是幻读现象。
- 产生的问题: 不可重复读
此级别只能读取到事务已经提交的数据,解决了幻读现象。但是!出现了不可重复读:
不可重复读(真的很难理解,但是看我总结了好多的理解):一个事务A是查询一张表的数据(无数条,没使用索引,所以会很慢),而此时事务B去修改那个表里的数据,一直再修改,提交,增加,提交。事务A呢?一直再查,查询的条数不对劲!一会儿查了300条,一会儿又查了303条,即不可重复读。优点:数据都是最新的,很真实。
- 产生的问题:数据不真实
为什么:因为可重复读的原理是 事务A去查询语句,则当他进行查询的时候,就不会管事务B来增删改的数据修改情况,很专一,只认定一开始的东西!但是会导致数据可能不是最新的情况,不真实。
- 最高级别,解决了上述所有问题**(但是效率低)**
事务A去查询所有数据,则不允许别的任何事务过来操作这张表。显而易见,优缺点很明显,这种级别会读取的数据是很真实的,但是效率很低,不允许并发,很像Synchronized关键字。
索引即目录。一个单词再一本书里,你是一页一页找快,还是看目录再去找快? 对 就这个道理。
1、索引的创建索引的创建语句: Create index index_name on user(ID)
解释:创建索引名为index_name的索引在user表中,对象是ID属性(字段)。
索引的删除:create改为delete即可。
就是缩小查询的扫描范围,不再是全局扫描,避免全表扫描,所以才快。
索引给表中字段添加物理地址,并且物理地址是根据树的结构排序放好,放到了物理磁盘上,你要进行查询就按照树的排序地址去查了。
如同原子性,每个字段不可再拆分
2、第二范式在第一范式的基础上,字段之间不能再产生部分依赖。
基本上表都要有主键,别的字段要依赖于主键字段。主键可以是多字段共同构成(复合主键)。
张三是学生,依赖于主键中的学生编号,而王老师依赖于教师编号,即产生了部分依赖,数据产生了冗余,所以需要重新设计:此表中学生和老师是多对多的关系(一个老师教多个学生,一个学生可以让多个老师教)。
pk是主键,fk是外键。
3、第三范式在第二范式的基础上,字段之间不能再产生传递依赖。举例: 
为什么要依据这个范式规则:因为容易出现数据冗余,占用内存。
以上所有图采用了老杜的Mysql视频。真的讲得特别好!!
提示:这里对文章进行总结:
上述简单阐述了事务特性,隔离级别,索引和范式的简单概述。
:::这些面试很容易问的!!写的是比较基础的东西,以上是Mysql的凤毛麟角但是及其重要的东西,我有很多写的不到位的地方请各位海涵,有不对的地方还请评论或私信给我建议!!我会立马更改的,Thank U!!我会继续更新,包括之后在公司使用到的技术,面试问题,待续…



