浅析mysql 共享表空间与独享表空间以及他们之间的转化_Mysql

innodb这种引擎,与MYISAM引擎的区别很大。特别是它的数据存储格式等.
对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间。
什么是共享表空间和独占表空间
共享表空间以及独占表空间都是针对数据的存储方式而言的。
共享表空间:  某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下。 默认的文件名为:ibdata1  初始化为10M。
独占表空间:  每一个表都将会生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有一个.ibd文件。 其中这个文件包括了单独一个表的数据内容以及索引内容,默认情况下它的存储位置也是在表的位置之中。
两者之间的优缺点
共享表空间:
优点:
可以放表空间分成多个文件存放到各个磁盘上(表空间文件大小不受表大小的限制,如一个表可以分布在不同步的文件上)。数据和文件放在一起方便管理。
缺点:
所有的数据和索引存放到一个文件中以为着将有一个很常大的文件,虽然可以把一个大文件分成多个小文件,但是多个表及索引在表空间中混合存储,这样对于一个表做了大量删除操作后表空间中将会有大量的空隙,特别是对于统计分析,日值系统这类应用最不适合用共享表空间。
独立表空间:在配置文件(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。

相比较之下,使用独占表空间的效率以及性能会更高一点。
共享表空间以及独占表空间之间的转化
innodb_file_per_table 通过这个参数来实现的转化,如果为OFF说明所使用的是独占表空间【默认情况下,所使用的表空间为共享表空间】

innodb_file_per_table值来进行修改即可,但是对于之前使用过的共享表空间则不会影响,除非手动的去进行修改或者是
innodb_file_per_table=1 为使用独占表空间
innodb_file_per_table=0 为使用共享表空间
修改独占空表空间的数据存储位置
innodb_data_home_dir = "C:\mysql\data\"
innodb_log_group_home_dir = "C:\mysql\data\"
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
参数说明:
这个设置配置一个可扩展大小的尺寸为10MB的单独文件,名为ibdata1。没有给出文件的位置,所以默认的是在MySQL的数据目录内。【对数据来进行初始化的设置】
innodb_data_home_dir              代表为数据库文件所存放的目录
innodb_log_group_home_dir       为日志存放目录
innodb_file_per_table               是否使用共享以及独占表空间来

以上的几个参数必须在一起加入。
对于参数一些注意的地方
InnoDB不创建目录,所以在启动服务器之前请确认”所配置的路径目录”的确存在。这对你配置的任何日志文件目录来说也是真实的。使用Unix或DOS的mkdir命令来创建任何必需的目录。

通过把innodb_data_home_dir的值原原本本地部署到数据文件名,并在需要的地方添加斜杠或反斜杠,InnoDB为每个数据文件形成目录路径。
如果innodb_data_home_dir选项根本没有在my.cnf中提到,默认值是“dot”目录 ./,这意思是MySQL数据目录。
 
所以在做数据的移植以及备份时,一定要注意数据文件的完整性.

时间: 2024-12-03 19:18:20

浅析mysql 共享表空间与独享表空间以及他们之间的转化_Mysql的相关文章

MySQL内存使用之线程独享介绍_Mysql

前言 在 MySQL 中,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量. 线程栈信息使用内存(thread_stack) 主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存. 排序使用内存(sort_buffer_size) MySQL 用此内存区域进行排序操作(filesort

MySQL应用技巧之内存使用线程独享

在这里我们将介绍的是MySQL内存使用上的线程独享,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量. 对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外. 从内存的使用方式MySQL 数据库的内存使用主要分为以下两类 线程独享内存 全局共享内存 今天这篇文章暂时先分析 MySQL 中

MySQL内存线程独享使用的技巧

在这里我们将介绍的是MySQL内存使用上的线程独享,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量. 对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外. 从内存的使用方式MySQL 数据库的内存使用主要分为以下两类 线程独享内存 全局共享内存 今天这篇文章暂时先分析 MySQL 中

ECS独享型实例,享受独占快感

       你还在为稳定的计算能力发愁吗?你还在为服务间抢占网络资源而头痛吗?你还在为大数据分析提供强大计算能力而为难吗?阿里云ECS云服务器 独享型实例轻松解决你的烦恼.        独享型实例是新一代的ECS实例规格类型,ECS规格族名称为系列II独享型 SN1和独享型 SN2,SN2 规格族的实例内存容量更大,可选范围更广.独享型实例的主要特征即能够提供超稳的计算能力,独占网络资源,能够发挥强大的并发数据计算能力.       计算能力方面,独享型实例采用Intel Xeon E5-2

数据中心内独享与共享技术

数据中心里部署有各种各样的系统,其中数据处理系统是最为重要的部分,主要由服务器.网络.存储等设备组成,这里有各种资源,比如:带宽.计算能力.存储空间等,这些资源可以是共享的,也可以是独享的,具体要看是怎样的应用.顾名思义,通俗的讲"共享"就是与大家合用的概念."独享"就是自己用的概念.在数据中心里,常常指使用那些带宽.计算.存储资源的方式.本文就来详细讲一讲,数据中心内的独享与共享技术.首先从数据中心内部的各种IT资源讲起. 带宽 带宽资源如果采用的是共享方式,数据

教你选购及认识虚拟主机的带宽与流量,共享与独享的区别

说到带宽,就会涉及到带宽的单位,带宽一般用位/秒做单位,英文是bps,例如adsl的带宽是2mbps,实际上就是2mbit每秒.前面的M,还有对应的K, G大家应该都遇到过,表示数量级,进制是1024,估算的时候也可以简单的用1000代替.也就是1G=1024M1M=1024K. 带宽是决定主机访问速度的重要因素之一,尤其是对于访问量大的网站,带宽的大小显得尤为重要.而流量其实就是带宽在时间上的累积,用数学上的话说就是带宽对时间的积分.做个通俗的比喻,拿自来水来说,带宽其实就是水管的流速,而流量

主机托管选择10M独享或100M共享之我见

一直以为10M独享应该会很好,也比较贵,在一次服务器调整中,我把100M共享机房里的服务器调到了10M独享的机房中,结果竟然出乎我的意料,网站访问速度的出奇的慢和卡.   接着,测试下载上传,用同一机房内其它10M独享的机器下载另一个服务器上的资源,可怕,最高速度只有400KB左右!用10M独享的服务器再去下载自己一台放在电信100M共享的服务器上的资源,最高速度可以达5~8MB!天,这是什么概念!这简直就是花高价买罪受啊.独享10M的速度怎么会这样.联系10M独的机房维护人员,他们检查后说10

揭秘IDC商家——独享与共享带宽的区别

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 100M共享与2M.5M.10M独享有什么区别?那个好? 当然独享好啊,虽然100M听着好像很好,可是如果不是独享的话,有的时候用着还不如2M独享,共享是你很别的一些客户共同使用这一个带宽资源,而独享就是你自己使用,所以很稳定. 独享与共享,小心黑心的商家欺骗 百兆共享,就是整个机房内部采用100M带宽连接,一般来说一个机柜的总带宽只有10M

从入门级到企业级:云服务器支持「共享型」升级「独享型」

云服务器ECS在2016年全面推出独享型服务器家族,提供了提供更好的SLA,更强的带宽,更稳定的计算能力.非常适合对业务稳定性具有高要求的严肃企业场景使用,有效保障核心服务器的性能指标.具体细节参见 独享型实例与共享型实例FAQ. 主力的独享规格包含: 通用型 (sn1):处理器与内存资源配比为1:2,高计算资源占比, 适用于Web 前端服务器.数据分析.批量计算.视频编码.高性能科学和工程应用 计算型 (sn2):处理器与内存资源配比为1:4,具有均衡的计算.内存.网络资源, 适用于各种类型和