mysql

数据库三范式(建表时需要根据三范式进行)

1、表的所有字段都是不可分割的原子值

2、在满足1 的情况下,处主键外的所有其他列,都要完全依赖于主键

3、在满足2 的情况下,主键外的其他列不能存在相互依赖关系

 

ACID(mysql事务的4个特点)

A:原子性:事务是不可分割的最小单位

C:一致性:一个事务里的所有操作,只能同时成功或失败

I:隔离型:事务与事务之间有不同程度的隔离级别,成为事务的隔离型

D:持久性:事务一旦被提交,便不可返回

 

隔离性

read uncommitted 读未提交的:事务A在未提交的情况下,事务B能够看到事务A的变化,会造成脏读,实际开发不允许脏读的出现

read committed 读已经提交的:我们只能读到一个事务提交后的数据,但有可能造成读取前后两个表的数据会不一致

repeatable read :事务A和事务B同时操作一张表,事务A提交数据,但事务B不能读到,造成幻读

serializable 串行化:当一个表被事务操作是,其他事务不可以运行,并进入排队状态,直到一个事务commit后才能执行,性能最差;

 

所以说,隔离性越高,性能越差,隔离性与性能之间要找到一个平衡点

 

char和Varchar的区别

char:0-255个字节,费空间,速度快

varchar:0-65535个字节 节省空间,速度慢

 

float和double的区别

float:单精度 4字节

double:双精度 8字节

 

mysql的内连接、左连接、右连接有什么区别

内连接(join):连接的两个表只显示匹配的数据,不匹配的不显示

左连接:连接的两个表只显示匹配的数据,显示左边表的所有数据,右边的表只显示先匹配的数据

右连接:

 

mysql是怎么实现的

使用B+书原理

  1、叶子节点不存储Data,为了多存引索

  2、叶子节点包括所有引索

  3、叶子结点之间有指针连接

 

数据库常用引擎

InnoDB

myISAM

MEMORY

Archive

posted @ 2020-09-08 17:52  TwilightDF  阅读(87)  评论(0)    收藏  举报