zoukankan      html  css  js  c++  java
  • MySQL共享表空间和独立表空间

    关于共享表空间和独立表空间的知识总结!
     
    【共享表空间/系统表空间】
    Innodb 将存储的数据按照表空间(tablespace)进行存放,默认配置下,会有一个初始大小10M,名为:ibdata1的文件,这就是默认的表空间文件。
     
    配置文件中的设置:
    1.默认设置
          innodb_data_file_path = ibdata1:10M:autoextend
         生成文件默认是在data目录下。
    2.多路径设置
          innodb_data_file_path = /data1/db1/ibdata1:100M:autoextend; /data2/db2/ibdata2:100M:autoextend
          放在不同的磁盘,可以平均磁盘负载,提高数据库性能。
    3.记录内容
         记录所有基于Innodb存储引擎的表的数据。
     
    【独立表空间】
    1.配置
    mysql> show variables like 'innodb_file_per%'G;
    *************************** 1. row ***************************
    Variable_name: innodb_file_per_table
      Value: ON
    注意:MySQL5.6.7之后默认开启
     
    2.位置
    在对应的表所在的目录,生成:表名.ibd文件
    [root@monitor wb]# pwd
    /mysqlData/con1/data/wb
    [root@monitor wb]# ll -h u1.*
    -rw-rw----. 1 mysql mysql 8.5K Feb 28 20:36 u1.frm
    -rw-rw----. 1 mysql mysql 96K Feb 28 20:37 u1.ibd
     
    3.记录内容
    独立的表空间,仅存储该表的:数据,索引和插入缓冲BITMAP等信息。
    其余信息仍存储在默认表空间。
     
    【相关知识点说明】
     
    1.启用innodb_file_per_table后,每张表的表空间只存放自己的:数据,索引和插入缓冲BITMAP页。其它信息仍放在默认表空间。
     
    其它信息如:回滚(undo)信息、插入缓冲索引页、系统的事物信息、二次写缓冲(Double write buffer)等。
     
    2.file_per_table的特点
     
    可以灵活选择:row format和file format。对于 数据压缩、truncate table操作会更快写。
     
    回收空间可以再次被利用,相反默认表空间不会收缩空间。
     
    MySQL Enterprise Backu对于拥有独立表空间的表,更灵活。表能从备份中单独出来,适合备份不是太频繁的表。
     
    3.表空间:从逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间(tablespace)
     
    4.共享表空间大小不会自动收缩。
  • 相关阅读:
    正则表达式的三种模式【贪婪、勉强、侵占】的分析
    php实用的文件上传类
    php简单实用的验证码生成类
    phpstorm不安装apache就可以本地测试PHP
    Ajax技术——带进度条的文件上传
    Mybatis 多表查询及查询结果映射
    关于textarea包在div的自适应问题
    Luogu P3200 [HNOI2009]有趣的数列
    群&置换群&burnside
    卡特兰树
  • 原文地址:https://www.cnblogs.com/cuisi/p/6519939.html
Copyright © 2011-2022 走看看