美文网首页
MySQL之最大和最小

MySQL之最大和最小

作者: 零一间 | 来源:发表于2021-03-10 14:00 被阅读0次

MySQL之最大和最小

  1. 一个表里最多可有1017列(在MySQL 5.6.9 之前最大支持1000列)。虚拟列也受限这个限制。

  2. 一个表最多可以有64个二级索引。

  3. 如果innodb_large_prefix打开,在InnoDB表DYNAMIC或COMPRESSED列格式下,索引前缀最大支持前3072字节;如果不打开的话,在任意列格式下,最多支持前767字节。这个限制既适用于前缀索引也适用于全列索引。

  4. 基于一个16KB的页最多装3072个字节,如果你把InnoDB 的page 大小从8KB降到4KB,索引的长度也相应的降低。也就是说,当页是8KB的时候最大索引长度是1536字节;当页大小是4KB的时候最大索引长度是768字节。

  5. 联合索引最多支持16列,如果超过这个限制就会遇到以下错误:

ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed
  1. 行长度(除去可变长类型:VARBINARY/VARCHAR/BLOB/TEXT),要小于页长(如4KB, 8KB, 16KB, and 32KB)的一半。例如:innodb_page_size 长度是16KB的话,行长不超过8KB;如果innodb_page_size 是64KB的话,行长不超过16KB; LONGBLOB/LONGTEXT/BLOB/TEXT列必须小于4GB,整个行长也必须小于4GB。如果一行小于一页的一半,它可以存在一个page里面。如果超过了页的一半,就会把可变长列放到额外的页存(如果对这个感兴趣的话可以看看,MySQL页管理)。

  2. 虽然InnoDB内部支持行长大于65,535字节,但是MySQL限制了所有列的组合长度(如果对这个感兴趣的话可以看看,表的列大小和行长)。例如:

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)) ENGINE=InnoDB;
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

  1. 在一些老操作系统中,文件必须小于2GB。这并非是InnoDB本身的限制,如果你需要大的表空间,就要配置使用几个小的数据文件而不是一个大的数据文件。

  2. InnoDB日志文件组合大小最大可以是512GB。

  3. 最小的表空间是10MB,最大的表空间取决于InnoDB页大小(最大表空间也就是最大表大小)。如下

InnoDB页大小   最大表空间
4KB 16TB
8KB 32TB
16KB    64TB
32KB    128TB
64KB    256TB
  1. 默认InnoDB页大小是16KB,你可以在创建一个实例的时候,修改配置文件里面这个innodb_page_size来提高或降低页大小。在 Barracuda文件格式下,ROW_FORMAT=COMPRESSED最大支持page_size 16KB。除了ROW_FORMAT=COMPRESSED最大page size只能是16KB以外,可以配置page size是32KB或者64KB。当page size是32KB或者64KB的时候,最大记录长度是16KB。当 innodb_page_size=32k时,扩展长度是2MB;当 innodb_page_size=64k时,扩展长度是4MB。一个MySQL实例只能指定1个innodb_page_size,而不能根据数据文件或者日志文件定制这些文件的innodb_page_size。

参考:
https://www.cnblogs.com/sunss/p/6429713.html

相关文章

  • MySQL之最大和最小

    MySQL之最大和最小 一个表里最多可有1017列(在MySQL 5.6.9 之前最大支持1000列)。虚拟列也受...

  • 营天下:让孩子吃点苦太有必要了!

    在成就最大和最小的人之间,最明显的差异是这在成就最大和最小的人之间,最明显的差异是这 1 成功需要坚强的意志。 这...

  • 算法-数组(三)

    最小的k个数 求子数组的最大和 把数组排成最小的数字 1.最小的k个数 问题描述:输入n个数字,找到数组中最小的k...

  • 世界上最大和最小的鱼种

    最大和最小的鱼种的成鱼体长可差1000倍! 世界上最小的鱼 - 也是最小的脊椎动物 – 成体大约 7–8 mm,包...

  • 茶道之最小应用系统

    近几年,我尽然喜欢上了喝茶。我十分确信,我第一次对喝茶有兴趣是发现摆弄那一套茶具很装逼。然后逐步的从铁观音开始,喝...

  • AR开发之最小模型

    Hello,好久不见,最近一直很忙,没有时间去更新简书,今天是小年,我就决定来给大家带来点硬货。2016年最火的技...

  • leetcode之最小绝对差

    序 本文主要记录一下leetcode之最小绝对差 题目 题解 小结 这里先对数组进行排序,然后遍历数据判断前后差的...

  • JVM常用参数

    GC常用参数 -Xmn 年轻代大小 -Xms 堆的最小值 -Xmx 堆的最大值通常最大和最小设置相同值 减少jvm...

  • 算法刷题之最小栈

    题目: 解决思路:主类: 测试类: 算法说明:Java中,实现栈操作的位Dqueue接口,但是这里我并没有直接拿来...

  • LeetCode题解之最小高度树

    最小高度树 题目描述 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。...

网友评论

      本文标题:MySQL之最大和最小

      本文链接:https://www.haomeiwen.com/subject/osswqltx.html