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.共享表空间大小不会自动收缩。
  • 相关阅读:
    后缀数组 (Suffix Array) 学习笔记
    Miller-Rabin 素性测试 与 Pollard Rho 大整数分解
    [ USACO 2013 OPEN ] Photo
    清华集训2016做题记录
    「UNR#2」黎明前的巧克力
    「UNR#1」奇怪的线段树
    Atcoder Grand Contest 018 E
    「NOI2015」小园丁与老司机
    「集训队作业2018」三角形
    Codeforces 878 E. Numbers on the blackboard
  • 原文地址:https://www.cnblogs.com/cuisi/p/6519939.html
Copyright © 2011-2022 走看看