Innodb共享表空间VS独立表空间

PS: 先留这儿,给力。。。

在使用Innodb引擎时将要面对两种表空间的管理选择的问题,Innodb有两种管理表空间的方法:

1.  共享表空间(也可以拆分成多个小的表空间)

2.  独立表空间每一个表有一个独立的表空间。

我个人推荐使用独立表空间。在性能和运维上独立表空间比共享的表空间有很多优势。下面我将分别说明一下两种表空间管理的特点。

共享表空间:

优点:

可以放表空间分成多个文件存放到各个磁盘上(表空间文件大小不受表大小的限制,如一个表可以分布在不同步的文件上)。数据和文件放在一起方便管理。

缺点:

所有的数据和索引存放到一个文件中以为着将有一个很常大的文件,虽然可以把一个大文件分成多个小文件,但是多个表及索引在表空间中混合存储,这样对于一个表做了大量删除操作后表空间中将会有大量的空隙,特别是对于统计分析,日值系统这类应用最不适合用共享表空间。

我们知道共享表空间管理会出现表空间分配后不能回缩的问题,当出现临时建索引或是创建一个临时表的操作表空间扩大后,就是删除相关的表也没办法回缩那部分空间了。我们存在磁盘监控时,也许就报警不断了,但实际上MySQL还可以运行良好。另外,当磁盘上占用较多时性能也不是太好。

这种情况处理只能是是建一个新的Slave从主库上Dump出来,然后在Dump到从库中,动作较大。

对于InnoDB Hot Backup备份的操作(或是直接冷备),每次需要CP的文件比较大。如果现在有180G的表空间,但实际数据只有50多G,那么我们将面对每次需要拷180G的数据。

这种方式也许mysqldump是一个好的处理方式了。

独立表空间:

在配置文件(my.cnf)中设置: innodb_file_per_table

优点:

1.  每个表都有自已独立的表空间。

2.  每个表的数据和索引都会存在自已的表空间中。

3.  可以实现单表在不同的数据库中移动。

4.  空间可以回收(除drop table操作处,表空不能自已回收)

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

b)         对于使innodb-plugin的Innodb使用turncate table也会使空间收缩。

c)         对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。

缺点:

单表增加过大,如超过100个G。

对于单表增长过大的问题,如果使用共享表空间可以把文件分开,但有同样有一个问题,如果访问的范围过大同样会访问多个文件,一样会比较慢。对于独立表空间也有一个解决办法是:使用分区表,也可以把那个大的表空间移动到别的空间上然后做一个连接。其实从性能上出发,当一个表超过100个G有可能响应也是较慢了,对于独立表空间还容易发现问题早做处理。

备份:

InnoDB Hot Backup(冷备)的表空间cp不会面对很多无用的copy了。而且利用innodb hot backup及表空间的管理命令可以实现单现移动。

监控:

可以更好从系统上监控数据的大小,每个表的大小。

另外推荐使用独立表空间的原因:

从性能上对比共享表空间和独立表空间:

共享表空间在Insert操作上少有优势。其它都没独立表空间表现好。这里也有一个TIPS当启用独立表空间时,请合理调整一下:innodb_open_files 。

从Linux系统处理上出发:

文件系统fsync一大片更新数据,对系统io冲击较大。若分隔成多个小数据fsync,能够减少对读的影响。 同时从mysql代码,发现mysql保证两次fsync之间至少有20ms的sleep,这样的话,若将一次fsync变成多次小数据操作,应该能够减少慢查询的比例。所以对于大量更新操作的系统不太适合用共享表空间。

原文地址

时间: 2024-11-08 20:14:09

Innodb共享表空间VS独立表空间的相关文章

innodb 共享表空间 转 独立表空间 详细说明

关于 MySQL 中的 Innodb 引擎就不多说了, 毕竟除了MyISAM 之外, 它的应用最广泛. Innodb 存储数据有两种方式: 共享表空间 和 独立表空间. 顾名思义, 共享表空间 就是把所有数据库数据放在一个或多个文件中( 这种方式的话,使用裸设备倒是很方便); 独立表空间 就是采用和MyISAM 相同的方式, 每个表拥有一个独立的数据文件( .idb ). 在服务器资源有限,单表数据不是特别多的情况下, 独立表空间明显比共享方式效率更高 . 但是MySQL 默认是共享表空间 1,

MySQL InnoDB 共享表空间和独立表空间

MySQL  InnoDB 共享表空间和独立表空间 官网:https://dev.mysql.com/doc/refman/5.6/en/innodb-multiple-tablespaces.html 前言:学习mysql的时候总是习惯性的和oracle数据库进行比较.在学习mysql InnoDB的存储结构的时候也免不了跟oracle进行比较.Oracle的数据存储有表空间.段.区.块.数据文件:mysql InnoDB的存储管理也类似,但是mysql增加了一个共享表空间和独立表空间的概念:

总结分析独立ip空间与共享ip空间的区别

很多朋友在买空间的时候都会遇见这个问题,独立ip空间与共享ip空间有什么区别?哪个对于优化来说更有利呢? 独立ip空间又叫做独立ip虚拟主机,从名字就可以看出来独立ip空间就是具有独立ip地址的空间.最直接的表现就是可以直接输入ip而进入网站.共享ip空间与独立ip空间是相反的. 那么独立ip空间有哪些优势呢? 1. 相对于共享ip空间,独立ip空间的网站的收录级别是会高一点点的.搜索引擎会认为你的网站质量相对高一点,所以收录的级别会高一点点.但是聆伊感觉现在的这种影响已经越来越小了. 2. 

innodb存储引擎修改表共享空间为独立空间_Mysql

1,查看一下是共享表空间,还是独立表空间 复制代码 代码如下: mysql> show variables like '%per_table%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| innodb_file_per_table | OFF |+-----------------------+-------+1 row in set (0.00 sec

oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息

查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs;        结果可以是:        USERNAME                       PRIVILEGE                    

1、变量的定义与使用;2、数据库,数据表空间与所以表空间的区别,联系及简单实例

问题描述 1,定义变量,String name = null; name = person.getName();与String name= person.getName();的区别,这2种写法哪种比较好?2,在数据库中,数据表空间与索引表空间的区别,联系及简单实例 问题补充:String name = null;这时系统为其分配内存空间了?还是在 name= person.getName()时,分配内存空间?还有一个问题就是:在一个判断语句当中,判断条件比较长,是定义一个变量好,还是不用管它?例

【转】利用optimize、存储过程和系统表对mysql数据库表进行批量碎片清理释放表空间

本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 核心是利用mysql系统表和"optimize table 表名"命令,对mysql数据表进行空间的释放.由于delete和drop table都不会释放表空间(truncate 命令会释放表空间[将所有的数据都删除]),所以需要利用optimize 命令进行释放. 这个存储过程目的是给一个库的所有表来整理碎片的.一个表随着插入很频繁,或者一直更新不停的,就会积累好多碎片.如果及时整理一下,查询效率会高出

独立IP空间SEO好处

为什么做SEO搜索优化请用独立IPhttp://www.aliyun.com/zixun/aggregation/14840.html">虚拟主机空间 独立IP主机就是一个空间独享一个IP,一般都可以直接输入IP直接访问站点,有些空间不可以,就像我用的万网独立IP空间.从做搜索引擎优化经验来看,建议使用独立IP虚拟主机比较好,为什么要使用独立IP虚拟主机呢?独立IP空间又有哪些优势? 1.能规避在共享IP条件下的连带风险,也就是如果同一服务器上的其他虚拟主机用户因遭受攻击(比如DDOS).

资深站长总结:独立IP空间对网站的三大影响

网站SEO优化要取得好成果,不仅要站长制定好规划,对内容和http://www.aliyun.com/zixun/aggregation/8486.html">外部链接进行专项进攻,而且也要事先做好空间选择,选择具有独立IP的空间会更加有利,因为独立IP空间优势繁多,对网站长远发展具有积极促进作用,现在笔者作为一个老站长,在此就详细总结下其产生的影响. 网站打开速度快 访问速度对网站用户体验有较大影响,如果是外贸类网站,访问速度更是与交易直接挂钩,影响的是产品销售量,而一般的网站访问不畅,