MySQL 的任何 1 个表中是不是有 1 GB 的数据存储空间?

Posted

技术标签:

【中文标题】MySQL 的任何 1 个表中是不是有 1 GB 的数据存储空间?【英文标题】:Is there 1 GB data storage space in any 1 table of MySQL?MySQL 的任何 1 个表中是否有 1 GB 的数据存储空间? 【发布时间】:2020-06-03 15:54:41 【问题描述】:

我们正在生产基于网络的应用程序,拥有数千名用户。我们分析了嵌入式数据库,在阅读 mysql 的数据存储容量时,我们遇到了这个

每个单独的表的大小不应超过 1 GB 或 2000 万行

我的要求是将 BLOBS 存储在 mySQL DB 的 1 个表中。

如果 mySQL 的存储容量只有 1 GB,那么我的 DB 在生产中会因为我的 blob 很快占用 1 GB 而崩溃?

【问题讨论】:

这似乎是您用于托管应用程序的服务设置的限制。咨询他们。 我想使用它的嵌入式版本,我阅读了support.tigertech.net/mysql-size的声明 【参考方案1】:

我不知道您在哪里读到单个表不应超过 1 GB 或 2000 万行。这些绝对不是 MySQL 表的大小限制。

在Maximum number of records in a MySQL database table查看我的回答

在达到 MySQL 支持的最大表大小之前,您将填满存储空间。换句话说,目前没有任何存储空间大于 MySQL InnoDB 表的限制。

也就是说,有推荐大小限制。例如,如果您让表变得太大(例如 1TB),则需要数天时间来进行架构更改或优化表。

在我的工作中,我们建议开发人员将表保持在 500GB 以下,如果超过 1TB,我们会警告他们。因为表越大,完成某些操作任务(碎片整理、备份、恢复、模式更改等)就越难。

没有具体的限制或门槛,只是“越大,花费的时间越多”。

对于在计算机上运行的任何东西都是如此——不仅仅是 MySQL 也不仅仅是数据库。

【讨论】:

我阅读了support.tigertech.net/mysql-size 的声明,那么这个尺寸限制是什么意思? 看起来这只是该托管公司的政策,而不是 MySQL 的技术限制。如果您需要更大规模的数据库,那么您应该寻找不同的托管服务提供商。

以上是关于MySQL 的任何 1 个表中是不是有 1 GB 的数据存储空间?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL INSERT ... 从 1 个表中选择 2 个表

MySQL 操作系统缓存

更快的报告来源是 Mysql

对第二个表中不存在 ID 的两个表的 MySQL 查询优化

mysql插入tbl(从2个表中选择)

从更优化的 2 个表中获取 MySQL 的最新记录 [重复]