登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

Innodb之"独立表空间"介绍  

2007-08-23 15:54:47|  分类: MySQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原址:http://dev.mysql.com/doc/refman/5.1/en/multiple-tablespaces.html

你可以存储每个InnoDB表数据以及索引在自己的文件。这个特性被称为"独立表空间",因为每张表都拥有自己的表空间。

使用独立表空间对于以下需求者十分有益:

将表数据存放于不同的物理磁盘设备
希望快速对单个表进行备份恢复而不中断其它表的使用
你可以通过在“my.conf”的"[mysqld]"部分添加以下配置来启用独立表空间:

[mysqld]
innodb_file_per_table

重启mysql服务之后,InnoDB将在数据库目录内,重新为每张表创建各自独立的"tbl_name.ibd"文件。这有点类似于MyISAM表的做法,不过MyISAM会创建出数据“tbl_name.MYD”和索引文件"tbl_name.MYI"。InnoDB是将数据和索引共同存储于“tbl_name.ibd”文件内。当然,“tbl_name.frm”文件依旧被创建。

如果将my.conf配置中不指定“innodb_file_per_table”,InnoDB为所有表使用共享表空间存储。
“innodb_file_per_table”选项开启后会创建新的文件,但不影响已经存在的“共享表空间”表,只要开、关该选项并重启Mysql服务,就可以交叉访问在“共享表空间”和“独立表空间”的表。

提示:

InnoDB通常需要使用共享表空间来存储它的内部数据和“undo logs”,“.ibd”不足以满足InnoDB的需求。
你不能向MyISAM一样随意移动InnoDB的ipd文件到其它数据库目录内,因为InnoDB共享表空间内部也定义了数据库名称;而且InnoDB还需要确保它的事务IDs和日志序列好的连续完整
需要移动.ibd文件至另一个库,使用以下命令:

RENAME TABLE db1.tbl_name TO db2.tbl_name;

 

  评论这张
 
阅读(577)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018