Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在我的 MySQL 数据库中创建一个日志表。其中一个字段将仅在大约 5% 的日志中使用,并将包含堆栈跟踪和其他开发人员的冗长信息。我正在考虑使用 LONGTEXT 字段,但我想知道使用它是否会使我的数据库增长得非常快,即使该列在 95% 的行中为空。
所以我的问题很明确,即使该列在大多数行中为空,是否存在 LONGTEXT 列的内存消耗?例如,如果我改用 TEXT 并截断太长的字符串,我会在数据库上节省大量空间吗?
重要的是要补充一点,随着时间的推移会有很多日志。
谢谢!
尽管从 MySQL 的一个差异到另一个差异略有不同,但一般而言,像 LONGTEXT 这样的 BLOB 类型的列本质上是可变长度的,并且在不使用时几乎不占用存储空间。在值的情况下甚至没有分配它们所需的空间NULL。
NULL
至于您对扩展的担忧,只有一种方法可以找出答案:生成大量日志数据来测试您打算使用的任何模式。把它推得太满以至于它几乎死了,然后得到一些关于它可以处理多少的指标。这将使您了解您的方法的可行性。