`
zhangxiong0301
  • 浏览: 351218 次
社区版块
存档分类
最新评论

MYSQL innodb 每张表一个数据文件

阅读更多
默认情况下,innodb引擎的所有表都存储在一个叫ibdata1的文件中,当数据量很大的时候,这个文件超级大,而且由于磁盘碎片造成很大的性能影响。但是我们可以让每张表一个ibdata文件,具体做法是在mysql配置文件中加入:
innodb_file_per_table=1

这样就修改了InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。重启mysql服务即生效.

查看是否开启:
mysql> show variables like ‘%per_table%’;

关闭独享表空间
innodb_file_per_table=0关闭独立的表空间
mysql> show variables like ‘%per_table%’;

独立表空间优点:
1.  每个表都有自已独立的表空间。
2.  每个表的数据和索引都会存在自已的表空间中。
3.  可以实现单表在不同的数据库中移动。
4。  对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。

结论:
共享表空间在Insert操作上少有优势。其它都没独立表空间表现好。当启用独立表空间时,请合理调整一 下:innodb_open_files 。
分享到:
评论

相关推荐

    详解MySQL中InnoDB的存储文件

    在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的...

    MySQLInnoDB的存储文件

    在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的...

    深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较

    InnoDB是事务型引擎,支持回滚、崩溃恢复能力、多版本并发控制、ACID事务,支持行级锁定(InnoDB表的行锁不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,如like操作时的

    mysql面试题,包含面经文档、技术要点或面试编程题等

    - 存储结构方面,MyISAM将每张表存放在frm(表格定义)、MYD(数据文件)、MYI(索引文件)三个文件中,而InnoDB的所有表都保存在同一个数据文件中。 - 在存储空间上,由于MyISAM的数据是以文件的形式存储,所以占用...

    MySQL高性能优化规范建议

    MySQL高性能优化规范建议 数据库命令规范 数据库基本设计规范 1. 所有表必须使用 Innodb 存储引擎 2. 数据库和表的字符集统一使用 UTF8 3. 所有表和字段都需要...1. 限制每张表上的索引数量,建议单张表索引不超过 5 个

    MySQL面试题从基础到高阶66问

    InnoDB所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。 2. 事务支持:MyISAM不提供事务支持;InnoDB提供事务支持事务,...

    mysql是怎么存储数据的?

    2,(单独的表空间中) 每张表对应几个文件,文件名和表名相同,innodb引擎中对应两个文件,后缀名为:frm、ibd; frm文件:存储的是表结构信息。 ibd文件:存储的是表里的数据、索引等。 ibd文件是关键所在,秘密都...

    [每天进步一点点]mysql笔记整理(三):索引

    数据都是以文件的形式存储在磁盘上的,每一行数据都有它的磁盘地址,如果没有索引,要从几百万行数据中检索一条数据,只能遍历整张表才能找过结果。有了索引之后,只需要在索引里面去检索这条数据就可以了,因为索引...

    聚簇索引与主键的选择

    在MySql的InnoDB引擎中,表数据的文件是按照B+树组织的一个索引结构。而聚簇索引就是按照每张表的主键构造出来的B+树,叶子节点就是整张表的行数据,所以聚簇索引的叶子节点也被称为数据页。 二、什么是非聚簇索引?...

Global site tag (gtag.js) - Google Analytics