数据库——文件

文件组织

定长记录:文件头维护空闲列表

变长记录:

块头 + 空闲空间 + 记录

插入:在空闲空间末尾分配空间

删除:将条目之前的全部向后移动

大对象通常存储到特殊文件,通过指针存储在记录中

 

文件类型

参数文件

日志文件

套接字文件:通过套接字文件,UNIX系统下本地连接MySQL可以采用Unix域套接字方式

pid文件:MySQL实例的进程ID

表结构定义文件:每个表都有对应的文件

存储引擎文件:每个表存储引擎独有的文件

 

日志文件

错误日志

慢查询日志:

运行时间超过阈值的SQL语句

没有使用索引的SQL语句

查询日志:所有对数据库请求的信息

二进制日志:

所有对数据库执行更改的操作

未提交的二进制日志会记录到缓存中(缓冲不够时写入临时文件),事务提交时将缓存写入二进制文件

查询日志:

所有对数据库请求的信息

 

存储引擎文件

表空间文件:存储数据按表空间进行存放

redo log文件:

每个redo log文件组采用循环方式,先写1,达到文件最后,再写2

redo log与二进制文件的差异:

1.记录的引擎不同:二进制文件记录所有与MySQL有关的存储引擎日志

     redo log只记录InnoDB存储引擎的事务日志

1.记录内容不同:二进制文件记录事务的具体操作

                          redo log记录每个页更改的物理情况

2.写入时间不同:二进制日志文件在事务提交前记录

                          redo log在事务进行中被写入

对redo log的写入,先写入缓冲,然后写入文件

redo log写入文件的触发条件:1.mater thread每秒执行

    2.提交时,innodb_flush_log_at_trx_commit = 0:不写入

   1:将缓冲同步到磁盘

   2:异步写到磁盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值