数据库系统原理
文章平均质量分 82
数据库系统基本原理
我是真的菜啊啊
这个人很懒,什么都留下了
展开
-
SQL语句执行过程详解
逻辑查询处理阶段简介::对 FROM 子句中的前两个表执行笛卡尔积(Cartesian product)(交叉联接),生成虚拟表VT1:对VT1应用ON筛选器。只有那些使为真的行才被插入VT2。:如 果指定了(相对于 或(),保留表(:左外部联接把左表标记为保留表,右外部联接把右表标记为保留表,完全外部联接把两个表都标记为保留表)中未找到匹配的行将作为外部行添加到 VT2,生成VT3.如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到处理完所有的表为止。:对V原创 2022-06-13 15:31:03 · 2257 阅读 · 0 评论 -
Redolog,binlog,undolog
1.redo log用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。作用:确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。内容:物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log file的物理文件中去的。什么时候产生:事务开始之后就产生redo log,redo log的落盘并不是随着事务的提交才...原创 2022-03-30 19:31:05 · 807 阅读 · 1 评论 -
MySQL存储引擎MyISAM 和 InnoDB
MyISAM 和 InnoDB区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败; 3. InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要原创 2022-03-30 19:28:04 · 109 阅读 · 0 评论 -
MVCC原理
并发一致性问题:1. 丢失修改:2. 读脏数据: 事务A读取事务B未提交的修改,事务B之后进行了回滚。3. 不可重复读:事务A读取了事务B未提交的修改。一个事务读取了另外一个事务修改后记录 强调的是 update 和delete , 只需要锁住满足条件的记录即可。4. 幻读:一个事务读取了另外一个事务插入的数据,强调的是 insert ,要锁住满足条件及相近的记录。MYSQL 中默认的隔离级别是可重复读,可解决脏读和不可重复读的问题。但是不能解决幻读的问题。 Oracle..原创 2022-02-26 20:28:21 · 395 阅读 · 0 评论