`

MySQL两种引擎Myisam,innodb单表大小的限制

阅读更多
MySQL两种引擎Myisam,innodb单表大小的限制

MySQL单表大小的限制在目前的技术环境中,由所在主机的OS上面的文件系统来界定而不是由MySQL数据库本身来决定了。

在老版本的MySQL 3.22中,MySQL单表大小为4GB,当时的MySQL的存储引擎还是MYISAM存储引擎。
但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64TB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储引擎单表大小限制已经不是由MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了

而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。

当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据

而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。



以下是MySQL文档中的内容:
Windows用户请注意: FAT和VFAT (FAT32)不适合MySQL的生产使用。应使用NTFS。

在默认情况下,MySQL创建的MyISAM表允许的最大尺寸为4GB。你可以使用SHOW TABLE STATUS语句或myisamchk -dv tbl_name检查表的最大尺寸。请参见13.5.4节,“SHOW语法”。

如果需要使用大于4GB的MyISAM表(而且你的操作系统支持大文件),可使用允许AVG_ROW_LENGTH和MAX_ROWS选项的CREATE TABLE语句。创建了表后,也可以使用ALTER TABLE更改这些选项,以增加表的最大允许容量。
分享到:
评论

相关推荐

    mysql DB引擎myisam与innodB

    InnoDB支持事务安全、Mysq唯一支持外键的存储... 但同时InnoDB提供了两种自动提交和手动提交两种选择(SET AUTOCOMMIT=0设置),根据文档所述,自动提交的性能很差,所有的修改操作和非自动提交都有200多倍的性能差距!

    MyISAM InnoDB 区别

    InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度...

    MySQL存储引擎MyISAM与InnoDB的9点区别

    下面我们分别来看两种存储引擎的区别。 MySQL存储引擎MyISAM与InnoDB的区别 一、InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而...

    《MYSQL备份与恢复》之 Innodb与 MyISAM引擎

    (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2)innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的,innobackupex是一个perl脚本封装,封装了xtrabackup,所以能...

    MySQL存储引擎中的MyISAM和InnoDB区别详解

    在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息: MyISAM是MySQL的默认数据库引擎(5.5版之前),由...

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

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键...

    MySQL两种表存储结构MyISAM和InnoDB的性能比较测试

    MySQL两种表存储结构MyISAM和InnoDB的性能比较测试

    mysql 中InnoDB和MyISAM的区别分析小结

    MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性。 NULL列索引。 对变长行比ISAM表有更少的碎片。 支持大文件。...注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。 3.

    Mysql InnoDB和MyISAM区别原理解析

    mysql支持很多表类型的表(即存储引擎),如myisam、innodb、memory、archive、example等。每种存储引擎都有自己的优点和缺点,充分的理解每种存储引擎,有助于合理的使用它们。有人认为在同一个数据库中使用多种...

    MyISAM和InnoDB引擎优化分析

    几天在学习mysql数据库的优化并在自己的服务器上进行设置,喻名堂主要学习了MyISAM和InnoDB两种引擎的优化方法,需要了解跟多的朋友可以参考下

    简单了解mysql InnoDB MyISAM相关区别

    前言 mysql支持很多表类型的表(即存储引擎),如myisam、innodb、memory、archive、example等。...前面说过mysql的存储引擎很多,但是我个人在工作中运用最多的存储引擎有两个,一个是InnoDB,一个是MyISAM。我这里就

    校园招聘计算机岗位MySQL面试题

    MyISAM和InnoDB是两种MySQL的常见存储引擎。两个引擎的主要区别如下: MyISAM:不支持事务和行级锁定,支持全文索引和压缩表格,适合于大量查询、少量更新的读多写少应用场景。 InnoDB:支持事务和行级锁定,支持...

    通过数据库引擎来加速MySQL数据库

    另外两种类型InnoDB和Berkley(BDB),也常常可以使用。可以肯定的是,MyISAM的确快,但是如果你的逻辑设计需要事务处理,你就可以自 由使用支持事务处理的引擎。进一步讲,由于MySQL能够允许你在表格这一层应用...

    创建mysql表分区的方法

    表分区是最近才知道的哦 ,以前自己做都是分表来实现上亿级别的数据了...INNODB engine对应的表物理存储文件innodb的数据库的物理文件结构为:.frm文件.ibd文件和.ibdata文件:这两种文件都是存放innodb数据的文件,之

    mysql 存储引擎1

    两种常用的存储引擎: InnoDB 和 MYISAM查看命令:

    Mysql面试问题加答案50道题.docx

    1. 简述MySQL中的InnoDB和MyISAM存储引擎的区别? InnoDB支持事务,MyISAM不支持。InnoDB支持外键,MyISAM不支持。InnoDB支持行级锁,而MyISAM只支持表级锁。 2. 什么是数据库索引?MySQL中有哪些索引类型? ...

    基于MySQL的存储引擎与日志说明(全面讲解)

    1.1 存储引擎的介绍 1.1.1 文件系统存储 文件系统:操作系统组织和存取数据的一种机制。文件系统是一种软件。 类型:ext2 3 4 ,xfs 数据。 不管使用什么文件系统,...InnoDB、MyISAM (最常用的两种) MEMORY、ARCHIVE

    mysql数据库my.cnf配置文件

    # 如果某个内部heap(堆积)表大小超过tmp_table_size,MySQL可以根据需要自动将内存中的heap表改为基于硬盘的MyISAM表。还可以通过设置tmp_table_size选项来增加临时表的大小。也就是说,如果调高该值,MySQL同时将...

    浅谈MyISAM 和 InnoDB 的区别与优化

    注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。 3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。 4.DELETE FROM ...

Global site tag (gtag.js) - Google Analytics