`

InnoDB表的一些限制

 
阅读更多

 

 

InnoDB表的一些限制

1.表最多只有有1000列.

2.单列索引长度小767字节,适用前缀索引。多列组合索引长度3072字节

3.列的大小(除小可变列 varchar、varbianry,text,blob)小页于50%页大小.

 LONG BLOB、LONGTEXT限制于4GB以内,总共行长度包含BLOB与TEXT小于4G

4.行大小限制于65335字节(不包含BLOB与TEXT).

5.默认数据页16K

6.logfile限制于4G以内.

 

 

对InnoDB表的限制

· 一个表不能包含超过1000列。

· 内部最大键长度是3500字节,但MySQL自己限制这个到1024字节。

· 除了VARCHAR, BLOB和TEXT列,最大行长度稍微小于数据库页的一半。即,最大行长度大约8000字节。LONGBLOB和LONGTEXT列必须小于4GB, 总的行长度,页包括BLOB和TEXT列,必须小于4GB。InnoDB在行中存储VARCHAR,BLOB或TEXT列的前768字节,余下的存储的分散的页面中。

· 虽然InnoDB内部地支持行尺寸大于65535,你不能定义一个包含VARCHAR列的,合并尺寸大于65535的行。

·                mysql> CREATE TABLE t (a VARCHAR(8000), b VARCHAR(10000),
·                    -> c VARCHAR(10000), d VARCHAR(10000), e VARCHAR(10000),
·                    -> f VARCHAR(10000), g VARCHAR(10000));
·                ERROR 1118 (42000): Row size too large. The maximum row size for the
·                used table type, not counting BLOBs, is 65535. You have to change some
·                columns to TEXT or BLOBs

· 在一些更老的操作系统上,数据文件必须小于2GB。

· InnoDB日志文件的合并尺寸必须小于4GB。

· 最小的表空间尺寸是10MB。最大的表空间尺寸是4,000,000,000个数据库页(64TB)。这也是一个表的最大尺寸。

· InnoDB表不支持FULLTEXT索引。

 

分享到:
评论

相关推荐

    InnoDB 表的限制

    然而,尽管InnoDB强大且功能丰富,但其在设计上也有一些限制,这些限制在构建和管理数据库时需要特别注意。 1. **表数量的限制** InnoDB存储引擎并没有对单个数据库中的表数量设定硬性限制,但实际能创建的表数量...

    从案例看InnoDB表设计优化

    【InnoDB表设计优化】是数据库管理中的一个重要环节,它涉及到如何提高数据存取效率、降低存储开销以及提升系统整体性能。在这个案例中,我们看到一个使用InnoDB引擎的MySQL表在进行随机插入操作时,性能出现了显著...

    XtraDB、InnoDB 内部结构示意图

    XtraDB引入了一些额外的特性,例如innodb_extra_rsegments可以用来管理回滚段,而innodb_dict_size_limit用来限制数据字典的大小。 7. 内部组件和日志系统 文章还提到了InnoDB存储引擎的其他内部组件,包括页哈希、...

    InnoDB性能优化参数详解.docx

    4. **innodb_data_home_dir**:设置InnoDB表空间的根目录,即所有InnoDB数据文件的共同前缀。默认情况下,它与MySQL的datadir相同。 5. **innodb_file_io_threads**:该参数定义了InnoDB用于文件I/O的线程数。在非...

    关于InnoDB的索引大小

    本篇文章将深入探讨InnoDB存储引擎中的索引大小问题,包括其影响因素、限制以及优化策略。 首先,我们来了解InnoDB索引的基本结构。InnoDB主要使用B+树(B-tree)作为索引的数据结构,无论是主键索引还是辅助索引。...

    Mysql InnoDB 共享表空间和独立表空间

     共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以...

    InnoDB 中文参考手册(CHM)

    InnoDB使用表空间来组织数据,包括系统表空间(包含系统元数据)和独立表空间。用户可以通过设置不同的表空间策略来优化存储和备份。 6. **索引** InnoDB支持B+树索引,包括主键索引和非主键索引。主键索引是...

    MySQL体系结构及原理(innodb)图文完美解析

    ### MySQL体系结构及原理(innodb)图文完美解析 #### 宏观认识 在深入探讨MySQL的体系结构及其核心组件InnoDB之前,我们先来理解几个基础概念。 1. **MySQL简介** MySQL是一种开源的关系型数据库管理系统(RDBMS)...

    mySql 存储引擎 启用 Innodb

    - **InnoDB**:没有固定的最大表大小限制,但受到操作系统文件系统的限制。 - **MyISAM**:最大表大小受文件系统限制,某些操作系统下可能受限于2GB。 - **并发控制**: - **InnoDB**:支持行级锁定,可以在同一...

    mysql-innodb

    `innodb_thread_concurrency`限制并发线程数,以避免过多并发导致的锁竞争。 综上所述,InnoDB作为MySQL的核心存储引擎,提供了丰富的特性和高度的灵活性,能够满足各种复杂的数据管理需求,特别是在需要事务处理和...

    MySQL+InnoDB存储引擎的一些参数.doc

    - `innodb_file_per_table`:开启后,每个InnoDB表都有独立的表空间文件,利于管理和备份。 综上所述,理解并优化MySQL的InnoDB存储引擎参数对于提升数据库性能和管理效率至关重要。在创建和管理表时,选择合适的...

    Innodb 和 XtraDB 结构和性能优化

    Peter还讨论了Innodb的表空间和日志文件的物理结构,包括表空间的格式和段的概念。段是构成表空间的基本单位,包括数据段、索引段和特殊的段。每个Innodb表由一系列索引组成,包括叶节点段和非叶节点段。 总之,...

    MYSQL innodb性能优化学习总结

    - **innodb_file_per_table**:该参数控制InnoDB是否为每个表使用独立的数据表空间,建议设置为1,以避免共享表空间(ibdata1)可能带来的问题,例如难以进行数据库的备份和恢复。 - **innodb_stats_on_metadata**...

    InnoDB存储引擎讲解

    - **操作系统和硬件的影响**:InnoDB 的性能和可靠性受到操作系统和硬件的限制。例如,某些操作系统可能会延迟写操作,这可能导致数据不一致。因此,在生产环境中使用 InnoDB 之前,应该对系统进行全面的压力测试。 ...

    InnoDB怎么应对高并发

    以一个简单的例子说明,假设表`t`有两行数据,然后开启一个未提交的事务,进行删除、更新和插入操作。在事务未提交状态下,被删除和修改的数据的旧版本会存入回滚段,新插入的数据的主键也会记录在回滚段。如果事务...

    innodb-1.1-en.pdf

    同时,由于InnoDB 1.0及以上版本引入了新的文件格式,这导致了一些兼容性限制,例如在使用mysqldump或者MySQL复制时,以及使用较旧版本的InnoDB Hot Backup产品时,可能不能与早先版本的InnoDB存储引擎一起工作。...

    MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error

    这个问题通常表明MySQL的InnoDB存储引擎无法获取对`ibdata1`文件的锁,`ibdata1`是InnoDB用来存储数据和系统表空间的文件。这个错误可能是由于多种原因导致的,包括但不限于以下几点: 1. **另一个mysqld进程正在...

    为什么说InnoDB必须要有主键并且推荐使用自增整型主键呢?

    当达到这个限制时,B+Tree会分裂,生成新的节点,这可能导致空间利用率下降。例如,当有1001个元素时,新的根节点的左子节点将包含500个元素,而右子节点只包含一个元素,这就造成了近一半的空间浪费。随着数据量的...

Global site tag (gtag.js) - Google Analytics