MySQL数据库中长文本列的内存消耗
我正在MySQL数据库中创建一个日志表。其中一个字段将仅用于大约5%的日志,并将包含堆栈跟踪和其他供开发人员使用的冗长信息。我曾考虑使用LONGTEXT字段,但我想知道使用它是否会使我的数据库快速增长,即使该列95%的行为空 所以我的问题很清楚,即使长文列在大多数行中都是空的,也会有内存消耗吗?例如,如果我改为使用文本并截断过长的字符串,我会在数据库上节省大量空间 需要补充的是,随着时间的推移,将会有大量日志MySQL数据库中长文本列的内存消耗,mysql,sql,database,longtext,fieldtype,Mysql,Sql,Database,Longtext,Fieldtype,我正在MySQL数据库中创建一个日志表。其中一个字段将仅用于大约5%的日志,并将包含堆栈跟踪和其他供开发人员使用的冗长信息。我曾考虑使用LONGTEXT字段,但我想知道使用它是否会使我的数据库快速增长,即使该列95%的行为空 所以我的问题很清楚,即使长文列在大多数行中都是空的,也会有内存消耗吗?例如,如果我改为使用文本并截断过长的字符串,我会在数据库上节省大量空间 需要补充的是,随着时间的推移,将会有大量日志 谢谢 尽管MySQL的不同之处略有不同,但一般来说,像LONGTEXT这样的BLOB类
谢谢 尽管MySQL的不同之处略有不同,但一般来说,像LONGTEXT这样的BLOB类型的列本质上是可变长度的,不使用时几乎不占用任何存储空间。在
NULL
值的情况下,它们所需的空间甚至没有分配
至于您对扩展的担忧,只有一种方法可以找到:生成大量日志数据来测试您打算使用的任何模式。把它推得满满的,以至于它几乎死掉,然后得到一些关于它能处理多少的指标。这将使您了解您的方法的可行性