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

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文件跟数据库存储引擎无关,也就是任何存储引擎的...

    MySql innodb 引擎表存储分析

    因此,每张InnoDB表必须有一个主键,如果没有显式定义,则InnoDB会自动生成一个隐式主键。 - **主键的选择与创建**: - 如果表中存在唯一且非空的索引,则该索引将被用作主键。 - 如果不存在这样的索引,则InnoDB...

    mySql 存储引擎 启用 Innodb

    - **MyISAM**:每个表的数据存储在一个单独的文件中,每个文件对应一个表。 - **表大小限制**: - **InnoDB**:没有固定的最大表大小限制,但受到操作系统文件系统的限制。 - **MyISAM**:最大表大小受文件系统...

    MySQL核心Innodb存储引擎浅析—事务系统

    - 可重复读(Repeatable Read):InnoDB默认隔离级别,确保同一个事务内的多次读取返回相同的结果,防止了脏读和不可重复读,但仍然可能出现幻读。 - 序列化读(Serializable):最高的隔离级别,通过加锁的方式...

    InnoDB 表的限制

    每张InnoDB表可以有最多16个自定义的辅助索引(非主键索引),加上一个隐含的主键索引,总共17个索引。索引长度也有一定的限制,取决于MySQL版本和字符集,通常每个索引键最多500字节。 6. **事务大小限制** ...

    深入讲解MySQL Innodb索引的原理

    如果有一个表,主键是`pId`,并创建了`name`字段的非聚簇索引,那么当执行`SELECT * FROM table WHERE name='lisi'`时,会先在非聚簇索引的B+树中找到`name='lisi'`对应的`pId`,然后根据这个`pId`在聚簇索引中查找...

    最新收集mysql全国省市数据表

    2. 编码问题:确保数据文件和数据库的编码一致,防止出现乱码。 3. 数据清洗:在导入前,检查并处理可能存在的重复数据、缺失数据或异常值。 4. 安全性:对敏感数据进行加密,保护用户隐私。 总之,全国省市数据表...

    Mysql数据结构.pdf

    InnoDB支持共享表空间和独立表空间,前者意味着多张表共享一个表空间,后者则为每张表提供单独的表空间,便于数据迁移。 数据页的结构分为三部分:文件通用部分、记录部分和索引部分。文件通用部分包含文件头和文件...

    MySQL InnoDB如何保证事务特性示例详解

    此外,还有意向锁(Intention Locks),如意向共享锁(IS)和意向排他锁(IX),它们用于锁定更大范围的数据,如整张表或索引页。 事务的隔离级别通常有四种:读未提交(READ UNCOMMITTED)、读已提交(READ ...

    MySQLInnoDB的存储文件

    1. **表结构文件 (.frm)**: 每张InnoDB表在数据库目录下都有一个对应的`.frm`文件,它存储了表的元数据,包括表结构定义、列信息、索引等。这些信息是所有存储引擎通用的,与具体引擎无关。`.frm`文件用于在数据库...

    oracle,sqlserver及mysql对比

    独占表空间实际上是一张表一个表空间,也就是说每张表都有一个独立的数据文件。共享表空间似乎类似于 Oracle 的表空间,不同的表可以保存在同一个数据文件中。但是,MySQL 新版本也可以单独创建表空间,例如使用 ...

    解读InnoDB数据库索引页与数据行的紧密关联

    在这座城市中,每一块16KB大小的土地都被称为一个“页”(Page),而这些页是城市基础设施的核心,其主角就是“索引页”(INDEX页),这些页专门用于存储我们表中的实际记录数据,因此也被称为“数据页”(Data Page...

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

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

    MySQL自整理超全精华版面试八股文

    主键索引是唯一的,不可为空,每张表只有一个主键,而辅助索引(如唯一索引、普通索引、前缀索引和全文索引)可以有多个。聚簇索引的叶子节点直接包含数据,非聚簇索引则需要通过回表查询来获取数据。非聚簇索引不...

    Mysql系统学习教程

    视图是从一个或多个表中导出的虚拟表,不存储实际数据,而是按需计算。视图可以简化复杂的查询,提供安全性,以及隐藏敏感信息。 8. **存储过程与函数**: 存储过程是一组预编译的SQL语句,可封装成一个可重复...

    MySQL笔记MySQL笔记

    * 文件 xxx.ibd:xxx 代表的是表名,InnoDB 引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm- 早期的、sdi- 新版的)、数据和索引。 2.2 MyISAM 存储引擎 MyISAM 是一种基于表的存储引擎,支持...

    MYSQL使用.frm恢复数据表结构的实现方法

    通常来说,MySQL会在创建表时为每张表生成三个主要的文件:`.frm`、`.MYD`(数据文件)、`.MYI`(索引文件)。其中,`.frm`文件存储了表的定义信息,包括字段、索引等元数据。本文将详细介绍如何利用`.frm`文件恢复...

    MySQL配置文件mysql.ini参数详解.docx

    3. **datadir**:存储MySQL数据文件的位置。 4. **character-set-server**:服务器级别的字符集,默认为`latin1`。 5. **default-storage-engine**:创建新表时的默认存储引擎,在现代版本中,默认为`InnoDB`。 6. *...

Global site tag (gtag.js) - Google Analytics