MySQL数据库会在data目录下面简历一个以数据库为名的文件夹,用来存储数据库中的表文件数据。不同的数据库引擎,每个表的扩展名也不一样 ,例如: MyISAM用“.MYD”作为扩展名,Innodb用“.ibd”,Archive 用“.arc”,CSV 用“.csv

  1. ".FRM"文件

    无论是那种存储引擎,创建表之后就一定会生成一个以表明命名的’.frm’文件。frm文件主要存放与表相关的数据信息,主要包括表结构的定义信 息。当数据库崩溃时,用户可以通过frm文件来恢复数据表结构。

  2. ".MYD"文件

    “.MYD”文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹 下, 和“.frm”文件在一起。

  3. ".MYI"文件

    “.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache 的内容主要就是来源 于“.MYI”文件中。 每一个MyISAM表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。

  4. “.ibd"文件与”.ibdata"文件

    这两种文件都是存放Innodb数据的文件,之所以有两种文件来存放Innodb的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决 定是使用共享 表空间存放存储数据,还是独享表空间存放存储数据。独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件 ,文件存放在和MyISAM数据相同的位置。如果选用共享存储表空间来存放数据,则会使用ibdata文件来存放,所有表共同使用一个(或者多个, 可自行配置) ibdata文件。

    ibdata文件可以通过innodb_data_home_dir(数据存放目录)和innodb_data_file_path(配置每个文件的名称)两个参数配置组成

    innodb_data_file_path中可以一次配置多个ibdata文件 #innodb_data_file_path=ibdata1:2000M;ibdata2:10M:autoextend 配置方式

    共享表空间以及独占表空间都是针对数据的存储方式而言的。

    共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中。

    独占表空间: 每一个表都将会生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有 一个.ibd文件。其中这个文件包括了 单独一个表的数据 内容以及索引内容。

    两者对比

    (1). 共享表空间:

    优点: 可以放表空间分成多个文件存放到各个磁盘上。数据和文件放在一起方便管理。缺点: 所有的数据和索引存放到一个文件中,多个表及索引在表空间中混合存储,这样对于一个表做了大
    量删除操作后表空间中将会有大量的空 隙,特别是对于统计分 析,日值系统这类应用最不适合用共享表空
    间。
    

    (2). 独立表空间:

    优点:
    1. 每个表都有自已独立的表空间。
    2. 每个表的数据和索引都会存在自已的表空间中。
    3. 可以实现单表在不同的数据库中移动。
    4. 空间可以回收

    a) Drop table操作自动回收表空间,如果对于统计分析或是日值表,删除大量数据后可以通过:altertableTableName engine=innodb;回 缩不用的空间。

    b) 对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。
    缺点:单表增加过大,如超过100 个G。 相比较之下,使用独占表空间的效率以及性能会更高一点

    共享表空间和独立表空间之间的转换

        show variables like "innodb_file_per_table"; ON代表独立表空间管理,OFF代表共享表空间管理;修改数据库的表空间管理方式 修改innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间;innodb_file_per_table=1 为使用独占表空间innodb_file_per_table=0 为使用共享表空间
    

数据库的数据存储文件相关推荐

  1. MYSQL数据库的数据存储文件

    MySQL数据库会在data目录下面简历一个以数据库为名的文件夹,用来存储数据库中的表文件数据.不同的数据库引擎,每个表的扩展名也不一样 ,例如: MyISAM用".MYD"作为扩 ...

  2. SQL数据库的数据体系结构

    SQL数据库的数据体系结构基本上是三级结构.在SQL中,关系模式(模式)称为"基本表"(base table):存储模式(内模式)称为"存储文件"(stored ...

  3. 区块数据存储文件说明

    Bitcoin Core安装成功后,数据存储文件夹位置(例如:E:\Bitcoin)如下: Bitcoin/blocks/文件夹下形如blkxxxxx.dat的文件为区块数据存储的文件,每个文件128 ...

  4. hbase数据库_hbase数据库 修改数据

     本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 .HBase数据模型.HBase物理存储.HBase系统架构,HBase调优.HBase Shell访问等. 不过在此 ...

  5. oracle写excel文件,ORACLE-将oracle数据库中数据写入excel文件

    ORACLE-将oracle数据库中数据写入excel文件主要实现思路: 1.声明一个纪录,用来存储导出的数据: 2.使用游标取数据到纪录中: 3.使用utl_file将纪录中的数据写入excel文件 ...

  6. 分布式数据库的数据备份/恢复,这些你一定要了解

    一.概述 在数据作为生产资料的今天,数据早已成为各行各业的生命源泉,数据安全的重要性不言而喻.数据备份是数据安全的基础,完整的备份和有效的恢复手段是应对一切突发状况的重要保障.同时数据备份也对数据的重 ...

  7. servlet对mysql数据库的数据增删改

    1.增加数据就是在jsp中添加数据,通过servlet的java代码对数据库进行添加数据(之前的写的DVD为例): jsp添加: <form action="servlet/Add&q ...

  8. spring Batch实现数据库大数据量读写

    spring Batch实现数据库大数据量读写 博客分类: spring springBatchquartz定时调度批处理  1. data-source-context.xml Xml代码   &l ...

  9. iOS-查询数据库--指定数据表中的当前数据行的总数量

    很多时候,我们在查询一个表的时候,不想得到里面的记录内容,只是想简单的得到符合查询条件的记录条数. FMDB中有一个很简单的方法就可以实现,见下面的代码实例: #import "FMdata ...

最新文章

  1. Mobileye 自动驾驶策略(一)
  2. python程序设计梁勇 百度网盘_20194220 2019-2020-2 《Python程序设计》实验二报告
  3. BIOS-SMI Introduction
  4. 多重循环控制之打印金字塔
  5. 360的驱动(qutmdrv.sys)分页内存泄露
  6. 简述java的线程_Java多线程的简述
  7. rssi定位算法 c语言,【论文※】An RSSI Gradient-based AP Localization Algorithm 基于RSSI梯度的AP定位算法...
  8. android content item,Android中ContentProvider的应用实例
  9. 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.Launcher
  10. 利用maven命令将外部jar包导进maven仓库
  11. java图书管理系统(MySQL)
  12. stm32 SWD printf SWD调试输出
  13. ld cannot find -lbz2
  14. 计算机等级考试计算器吗,算天数转单位Win7计算器能做得更多
  15. html如何将图片弄成背景,如何用css把图片弄成背景
  16. Window10系统下触摸板失灵了 该咋处理
  17. Android屏幕适配之解决白屏启动的正确姿势
  18. MATLAB创建音乐《光年之外》
  19. 认知,构建个人的知识体系(上)
  20. NOIP提高组1580~1590集合答案

热门文章

  1. 金蝶软件连接显示服务器超时,金蝶连接云服务器超时
  2. JOOQ初学-简单的增删改查demo
  3. 百度网盘文件下载工具
  4. 【莫烦Python】Python 基础教程——学习笔记
  5. UEditor富文本编辑器不显示问题
  6. 2019牛客暑期多校训练营(第七场)-B Irreducible Polynomial(多项式因式分解)
  7. VLDB‘22 HiEngine极致RTO论文解读
  8. KDevelop开发环境的搭建
  9. 数据挖掘(4.1)--分类和预测
  10. iOS动手做一个直播app开发(代码篇)