zoukankan      html  css  js  c++  java
  • mysql数据库的物理文件结构

    mysql两种常用存储引擎myisam和innodb

    myisam不支持事务;innodb支持事务,当前作为插件来安装

    myisam的数据库的物理文件结构为:

    .frm文件:与表相关的元数据信息都存放在frm文件,包括表结构的定义信息等。各种存储引擎都需要frm文件,并且存放于数据库名目录下。

    .myd文件:myisam存储引擎专用,用于存储myisam表的数据

    .myi文件:myisam存储引擎专用,用于存储myisam表的索引相关信息

    innodb的数据库的物理文件结构为:

    .frm文件

    .ibd文件和.ibdata文件:

    这两种文件都是存放innodb数据的文件,之所以用两种文件来存放innodb的数据,是因为innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是用独享表空间存放存储数据。

    独享表空间存储方式使用.ibd文件,并且每个表一个ibd文件

    共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件

    ib_logfiles文件及作用

    大家都知道这个是InnoDB的redolog。关于redolog的写入策略部分,可以看我之前的这个文章(链接)。

    这个系列文件个数由参数innodb_log_files_in_group控制,若设置为4,则命名为ib_logfile0~3。

    很多文章都指出这些文件的写入是顺序、循环写的,logfile0写完从logfile1继续,logfile3写完则logfile0继续。

    ib_logfiles的作用,主要是在系统崩溃重启时,作事务重做的。而在系统正常时,每次checkpoint时间点,会将之前写入的事务应用到数据文件中。因此有一个问题:系统重启之后,怎么知道checkpoint做到哪儿了?

  • 相关阅读:
    统计一个字符串中字母、空格和数字的个数
    java 将一个数组中的值按逆序重新存放,例如,原来顺序为:9,5,7,4,8,要求改为:8,4,7, 5,9。
    java判断一个数是否为素数[转]
    Set集合
    List&ArrayList&LinkedList
    java_异常
    内部类&匿名内部类
    多态&抽象类&接口
    数组排序和字符串
    Java笔记_数据类型和运算符
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/5237785.html
Copyright © 2011-2022 走看看