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.共享表空间大小不会自动收缩。
  • 相关阅读:
    遍历切片slice,结构体struct,映射map,interface{}的属性和值
    [转]Go语言string,int,int64 ,float之间类型转换方法
    [转] golang中struct、json、map互相转化
    [转]Jupyter默认目录和默认浏览器修改
    sublime text3输出窗口中文显示乱码问题解决方案
    Oracle 在SQL语句中如何获取系统当前时间并进行操作
    eclipse调试的时候怎么后退?
    外部无法访问虚拟机8088和50070端口
    hadoop启动后jps查不到namenode的解决办法
    Java给整数部分的字符串加上千分位分隔符
  • 原文地址:https://www.cnblogs.com/cuisi/p/6519939.html
Copyright © 2011-2022 走看看