[英]Does MYSQL truncate a table when the tables size limit is reached?
我一直在翻阅 MYSQL 文档,试图确定我的脚本或 MYSQL 本身是否导致大表截断。 我看到的基本行为:
任何人都可以确认 MySQL 是否会在达到表格限制或检查关闭此类行为的设置时自动截断表格?
没有 MySQL 对表的大小没有硬性限制,但是有一些限制......
显式表大小
您可以设置最大表大小
ALTER TABLE tbl_name MAX_ROWS=200000
您可以通过以下方式查看表格大小的当前设置
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
请参阅: http://dev.mysql.com/doc/refman/5.0/en/full-table.html
请注意, MAX_ROWS
是:
您计划在表中存储的最大行数。 这不是硬性限制,而是对存储引擎的提示,即表必须能够存储至少这么多行。
文件系统限制
MySQL 5.x 的默认表大小为 256TB,但如果您的文件系统不允许大于 4GB 的文件,这也可能是导致此行为的限制。
Memory 限制
如果您使用的是memory
(堆)引擎,则您的表大小由max_heap_table_size
系统变量确定。
我不认为 MySQL 会截断您的数据,我使用过 500,000 行或更多行的表,完全没有问题。 所以,我认为你最好注意你的 PHP 脚本或至少 PHP 配置,PHP 可以处理的脚本的所有超时设置和大小。
我希望这可以帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.