我想创建包含动态数据的表,它可以在一个日期,布尔或例如文本文章对元数据的Mysql字段大小
形式:
meta_key =“ isActive” meta_valu = “1”
或
meta_key = “theDate” meta_value = “星期六年07月23 2时16分57秒2005”
或
meta_key =“说明” meta_value =“这是一个描述,这个文本可以继续下去,所以我需要一个很长田”
的问题是meta_value应该是为了什么类型的字段不膨胀DB太多插入每一个“1”,哪些字段是动态的,只会消耗自己的长度
希望我是清楚的空间...
所以生病只是定义meta_value作为一个巨大的varchar,而只是确保用户输入不超过该字段的最大高? – tridat 2009-11-11 09:36:56
这会工作,是的,除非你想在那里超过65535字节。如果你这样做,那么@Treby建议的TEXT(最多4GB)会起作用(但可能会导致问题,请参阅http://dev.mysql.com/doc/refman/5.0/en/blob.html) – rjp 2009-11-11 10:11:34
我认为VARCHAR实际上使用更多的空间(一个或两个字节的前缀)。它的内容仍然嵌入在行数据中(与行中包含引用的TEXT类型字段相对),因此将使用最大存储空间长度。 – 2009-11-11 14:30:31