MySQL Table--独立表空间
数据库表空间

独立表空间
在MySQL 5.6 中引入独立表空间的概念,启用独立表空间后,每个表将生成独立的文件来进行存储。
创建表时可以指定表存放的文件路径
##首选需要确保innodb_file_per_table开启:
show variables like 'innodb_file_per_table'; ##创建表时指定目录
CREATE TABLE t1 (c1 INT PRIMARY KEY)
DATA DIRECTORY = '/remote/directory';
共享表空间优缺点
Innodb的所有数据保存在一个单独的表空间里面,共享表空间可以由多个文件组成,当表使用共享表空间时,表数据可以分布在多个文件中,从而不受Innodb单表不超过64TB的限制。
默认的共享表空间的文件路径在data目录下,默认文件名为ibdata1,初始化为10M。 优点:
可以放表空间分成多个文件存放到各个磁盘上,没有单表不超过64TB的限制。 缺点:
由于多表共用一个共享表空间,当某些表进行大量删除后,共享表空间存在大量碎片,但MySQL暂未提供对共享表空间收缩的方法。
独立表空间优缺点
通过innodb_file_per_table参数将innodb表的数据和索引存放到其自己的表空间中,不再使用共享表空间,独立表空间的默认目录为innodb_data_file 优点:
1、 每个表有自己独立的表空间,数据和索引存放到其独立的表空间中。
2、可以轻松实现表在不同数据库之间移动
3、DROP TABLE后,表使用的空间立即被释放
4、当表中数据被大量删除后,可以使用alter table TableName engine=innodb;来进行收缩
5、表空间存在碎片时不会影响其他表的使用。 缺点:
1、使用独立表空间后,无法再将表数据分散到不同的多个文件中,如果单个存储无法提供该表所需的全部空间时,无法通过增加新存储来解决
2、innodb_file_per_table开启后,不会影响已经使用共享表空间的表。
3、单表数据较大时,导致其对于的数据文件过大而不利于维护
MySQL Table--独立表空间的更多相关文章
- [Mysql]Innodb 独立表空间和共享表空间
innodb有2中表空间方式: 共享表空间 和 独立表空间 查询数据的设置: show variables like '%per_table'; 默认是共享表空间,独立表空间在配置文件中添加 inno ...
- mysql tablespace(独立表空间)超速备份大数据
前序 对于用户自主创建的表,会采用此种模式,每个表由一个独立的表空间进行管理备份(速度相当的猛) 首先介绍一下文件 .ibd就被称之为独立表空间的数据文件 .frm就是元数据文件 就是创建表后生成的 ...
- mysql中独立表空间与共享表空间之前如何切换
环境 mysql版本:5.7.19 官方文档:(https://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html) 查看 ...
- MySQL InnoDB独立表空间模式的优点和缺点介绍
File-Per-Table的优点: 1.当表删除或者truncate,空间可以被OS回收.2.Truncate table在单个.ibd文件上执行更快.3.可以为每个表指定一个特定存储.优化IO ...
- Mysql InnoDB 共享表空间和独立表空间
前言:学习mysql的时候总是习惯性的和oracle数据库进行比较.在学习mysql InnoDB的存储结构的时候也免不了跟oracle进行比较.Oracle的数据存储有表空间.段.区.块.数据文件: ...
- mysql共享表空间转独立表空间
使用innodb_export_import.py脚本: https://github.com/thecpaneladmin/innodb-tools 安装MySQL-python模块: shell ...
- MySQL 参数- Innodb_File_Per_Table(独立表空间)
Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间.共享表空间以及独立表空间都是针对数据的存储方式而言的. 共享表空间某一个数据库的所有 ...
- MySQL如何判别InnoDB表是独立表空间还是共享表空间
InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...
- MySQL Innodb Engine --独立表空间参数(innodb_file_per_table)
MySQL中参数innodb_file_per_table决定将表存放于ibdata*的共享表空间还是独立的.ibd文件的独立表空间. ================================ ...
- MySQL 独立表空间恢复案例
创建表的时候就会得到元数据.可以通过定义的方式对表的元数据进行生成 这个地方要注意的是 独立表空间当中 ibd & frm分别存储的是什么数据? 表空间:文件系统,为了更好的扩容数据库的存 ...
随机推荐
- qt ubutun各个版本下载地址
http://download.qt.io/archive/qt/ http://mirrors.melbourne.co.uk/ubuntu-releases/
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
单客户端和服务端的通信(基于UDP) 代码 服务端代码socket3.c #include<sys/types.h> #include<sys/socket.h> #inc ...
- Vue响应式原理以及注意事项
响应基于 set 和 get(Object.defineProperty) 类型: 单向绑定 双向绑定 简单例子(基于Object.defineProperty) <!DOCTYPE html& ...
- Linux 内核启动信息的打印 --- dev_driver_string函数/dev_name函数
内核启动时,常会打印出一些信息:开头是 "驱动模块的名字: + 具体的信息" 如:在运行的linux系统设备上,插入鼠标,就会打印出鼠标的相关信息; [ 402.134068] i ...
- ros ap 的无线中继
https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...
- Spring Security教程之Jsp标签(八)
目录 1.1 authorize 1.2 authentication 1.3 accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...
- Oracle--存储过程中之循环语句
一般循环语句有两种: 1)使用for循环实现 declare cursor cur is select * from tablename; aw_row tablename%rowtyp ...
- AQS4源码
@SuppressWarnings("restriction") public abstract class AbstractQueuedSynchronizer1 extends ...
- linux下安装谷歌拼音输入法
linux下安装谷歌拼音输入法 输入以下命令,等待安装完成. sudo apt-get install fcitx 接着输入,完成安装谷歌中文输入法 sudo apt-get install fcit ...
- Field "details" doesn't have a default value
[转载:原文链接http://my.oschina.net/wojibuzhu/blog/511104] MySQL 1364 错误提示:#1364 - Field "details&quo ...