摘要: 6.5 锁问题 6.5.1 脏读 脏页:缓冲池中已经被修改的页,但还没有刷入到磁盘,与磁盘中的页不一样,日志已经被写入到redo日志中 脏数据:事务对缓冲池中行记录的修改,并且事务没有提交 脏读:一个事务读到了另外一个事务的脏数据,即读到了另外的事务未提交的数据,违反了事务的隔离性 例子: 6.5. 阅读全文
posted @ 2021-05-03 23:48 zephxu 阅读(73) 评论(0) 推荐(0)
摘要: 6.32 一致性非锁定读 指innodb通过行多记录版本控制的方式来读取执行当前时间数据库中行的数据 如果读取的行在执行Delete或者Update操作,不会等待而是去读取行的一个快照数据 快照数据是指该行之前版本的数据,通过undo段实现的,undo则是来回滚数据的,所以没有额外的开销,快照也不需 阅读全文
posted @ 2021-05-02 23:30 zephxu 阅读(38) 评论(0) 推荐(0)
摘要: 5.6 B+树索引的使用 5.6.1 不同应用中B+树索引的使用 OLTP(on-line transaction processing)翻译为联机事务处理, OLAP(On-Line Analytical Processing)翻译为联机分析处理,从字面上来看OLTP是做事务处理,OLAP是做分析 阅读全文
posted @ 2021-05-01 22:04 zephxu 阅读(82) 评论(0) 推荐(0)
摘要: 4.8.2 分区类型 1.Range分区 根据某一列的值的范围进行分区,使用VALUES LESS THAN语句 例如 id < 10 一个分区, 10<= id < 20 一个分区 此时插入 id = 30 的记录会报错,因为不符合分区定义,所以需要加入一个新的MAXVALUE(正无穷)的分区 R 阅读全文
posted @ 2021-04-30 22:16 zephxu 阅读(81) 评论(0) 推荐(0)
摘要: 4.3.3 行溢出数据 innodb将一条记录中的某些数据存储在真正数据页面之外,如BLOB、LOB这些大对象列数据,VARACHAR也有可能被存放为行溢出数据 varchar(N)中的N指字符的长度,而varchar类型最大支持65535字节,且是所有varchar列的长度总和 一般情况,inno 阅读全文
posted @ 2021-04-29 23:16 zephxu 阅读(73) 评论(0) 推荐(0)
摘要: 3.6 InnoDB存储引擎文件 3.6.1 表空间文件 默认配置有一个初始12MB,名为ibdata1文件 innodb_data_file_path可配置 mysql> show variables like 'innodb_data_file_path'; + + + | Variable_n 阅读全文
posted @ 2021-04-29 00:07 zephxu 阅读(72) 评论(0) 推荐(0)
摘要: 2.4 Checkpoint技术 Write Ahead Log 策略: ​ 事务提交时,先做redo日志,再修改页,当宕机数据丢失则通过redo日志来完成数据恢复 Cheackpoint解决以下几个问题: 缩短数据库恢复时间 缓冲池内存不够用时将脏页刷新到磁盘 redo日志不可用时刷新脏页 数据库 阅读全文
posted @ 2021-04-27 22:08 zephxu 阅读(88) 评论(0) 推荐(0)
摘要: title: 21-4-26_innodb内幕 date: 2021-04-26 18:34:00 一、第1章 MySQL体系结构和存储引擎 1.1 定义数据库和实例 数据库: ​ 物理操作系统文件或者起形式文件类型的集合。 ​ 可以是frm、MYD、ibd等文件,或者内存之中的文件。 实例: ​ 阅读全文
posted @ 2021-04-26 22:17 zephxu 阅读(82) 评论(0) 推荐(0)