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

浙公网安备 33010602011771号