前天突然收到Monitor Center发出来的报警:

PROBLEM:CN_DSL_***4/MAXFILE is CRITICAL,SNMP CRITICAL – *These File size is larger than 18932735283: /abc/def/ghi/***/***.MYD

刚看到这个报警的时候,还吓了一跳。数据文件超过最大文件限制?不会吧?好像才18G嘛,怎么会就开始报警了?

于是开始查找报警来源,经过一番查找,总算找到服务器来设计的。所以他们在mysql的“.MYD”和“.MYI”文件。

说到文件大小,刚好常有人问我说mysql是否有单个表的大小限制?限制多大呢?这里做一个简单的介绍吧。

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

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

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

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

以下是从收集到的一点信息,不一定全部准确:

操作系统                                    大小限制

win32 w/ FAT/FAT32              2GB/4GB

win32 w/ NTFS                      2TB(可能更大)

Linux 2.2-Intel 32-bit            2GB (LFS: 4GB)

Linux 2.4+                            4TB(ext3)

Solaris 9/10                         16TB

NetWare w/NSS filesystem  8TB

macOS X w/ HFS+               2TB

以下是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 单表数据量多大_MySQL单表到底可以多大相关推荐

  1. oracle单表数据量上亿_MySQL数据库中,数据量越来越大,有什么具体的优化方案么?...

    个人的观点,这种大表的优化,不一定上来就要分库分表,因为表一旦被拆分,开发.运维的复杂度会直线上升,而大多数公司和开发人员是欠缺这种能力的. 所以MySQL中几百万甚至小几千万的表,先考虑做单表的优化 ...

  2. mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大

    数据库中有几十上百张表,那么哪些表的数据量比较大呢,总不能一个表一个表的去查询吧,在mysql中也有类似于oracle的数据字典表,只不过mysql没有oracle记录的那么多和详细,但也足够我们查询 ...

  3. 面试官问单表数据量大一定要分库分表吗?我们用六个字和十张图回答

    1 文章概述 在业务发展初期单表完全可以满足业务需求,在阿里巴巴开发手册也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达不到这个级别,请不要在创建表时 ...

  4. 软件架构场景之—— 分表分库:单表数据量大读写缓慢如何解决?

    业务背景 一个电商系统的架构优化,该系统中包含用户和订单 2 个主要实体,每个实体涵盖数据量如下表所示 实体 数据量 增长趋势 用户 上千万 每日十万 订单 上亿 每日百万级速度增长,之后可能是千万级 ...

  5. MySQL单表数据量过千万,采坑优化记录,完美解决方案

    MySQL单表数据量过千万,采坑优化记录,完美解决方案 参考文章: (1)MySQL单表数据量过千万,采坑优化记录,完美解决方案 (2)https://www.cnblogs.com/ExMan/p/ ...

  6. 单表数据量过大处理策略

    今天和一个朋友在讨论怎么样应对单表数据量过大,比如一些交易数据,每天都有10W的交易量.没有多久该表的查询,插入速度将变慢,最终将不可用. 对于关系数据库来说,应对单表数据量过大的策略大体上有两种. ...

  7. MySQL单表数据量超1亿,根据 索引列 批量删除数据

    我的场景:MySQL8有个表数据量超1亿,然后我要根据某个例(一对多)删除数据, 我直接用:delete from 表 where 字段 in (select 其他表)     条件用in的方式执行报 ...

  8. mysql单张表数据量极限_极限数据量范围的安全测试

    mysql单张表数据量极限 When we develop security testing within inconsistent data volume situations, we should ...

  9. mysql表数据量超过百万条了,count很慢。。

    mysql表数据量超过百万条了,count很慢.. (15) mysql表数据量超过百万条了,count很慢.. - MySQL - 乐维UP mysql表数据量超过百万条了,count很慢..   ...

  10. 数据量大了一定要分表,分库分表 Sharding-JDBC 入门与项目实战

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:juejin.im/post/684490418236581 ...

最新文章

  1. java编程思想第四版第三章要点习题
  2. 大型网站典型故障案例分析
  3. (6) ebj学习:ejb使用jpa注解
  4. linux命令deploy_linux命令:du 命令
  5. 二叉树题目----4 前序遍历重构二叉树 AND 求二叉树中所有结点的个数
  6. ZOJ 3502 Contest 状态压缩 概率 DP
  7. SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;
  8. Nagios学习实践系列——配置研究[监控当前服务器]
  9. 关于前端惰性加载(jquery_lazyload)的使用和原理分析
  10. C++ setw() 函数
  11. 网易游戏笔试【2020暑期实习生】游戏研发工程师第二批在线笔试4月6日
  12. 微信服务器下载图片到服务器格式损坏问题解决
  13. 微软Google人才战主角首次开口:Google让我震撼(转)
  14. 历时两年,秘鲁四人调查团队发布反腐 AI
  15. VB 提示框MsgBox用法
  16. MySQL的锁到底有多少内容?和腾讯大佬的技术面谈,我真菜
  17. 深入理解操作系统实验——bomb lab(phase_3)
  18. 分布式系统三大指标:可扩展性、一致性、持久性
  19. 2022年中级会计中级经济学法考试复习题及答案
  20. IP对亚马逊测评自养号有多重要?

热门文章

  1. 解决Python无法找到入口——无法定位到程序输入点
  2. 【HTML+CSS】自定义字体
  3. CM311-3_YST_晨星MSO9385_2+8_安卓9.0_TTL免费升级固件
  4. 第一周学习报告(关于string)
  5. pytorch复现RRU-Net
  6. 【已解决】抖音如何取消关注已注销的账户
  7. Q12矩阵中的路径 回溯法
  8. 非标自动化设计全过程,建议收藏
  9. 海康威视摄像头断后与8芯网线连接方法
  10. JSCORE03(达)