我可以在 MyISAM 表上记录限制吗?

我可以在 MyISAM 表上记录限制吗?

我在 myisam 中有大量数据,因此表的磁盘空间已满

那么我可以记录 MyISAM 表上的限制吗?

答案1

“记录限制”是什么意思?

您的意思是“记录限制”还是“限制记录数量”?

我认为是后者。

我认为 MyISAM 表的大小受以下因素限制:最大文件大小文件系统和操作系统支持。如果您的文件系统限制为 2GB 文件,您可能可以切换到支持更大文件的文件系统。如果您的表大小接近限制,您可能应该考虑将数据库后端更改为 InnoDB。

最好的方法可能是定期检查数据库的使用情况myisamchk并采取适当的措施。我注意到它有这个选项

--data-file-length=len, -D len
Maximum length of the data file (when re-creating data file when it is “full”).

MySQL 文档对于全表来说

要更改 MyISAM 表的默认大小限制,请设置 myisam_data_pointer_size,它设置用于内部行指针的字节数。如果您未指定 MAX_ROWS 选项,则该值用于设置新表的指针大小。myisam_data_pointer_size 的值可以是 2 到 7。值为 4 时允许表最大为 4GB;值为 6 时允许表最大为 256TB。

MySQL 包含一个 MERGE 库,它使您可以处理具有与单个 MERGE 表相同结构的 MyISAM 表集合。请参见第 13.3 节“MERGE 存储引擎”。

相关内容