我打算在我的数据库中存储json_encoded
字符串。我不能准确地说出它的长度,但我很确定它会很长。我担心的是,我将使用哪种字段类型,是blob
还是text
?
我更喜欢那种能够在快速搜索中尽可能节省空间的地方,无论如何我还有其他专栏我应该索引。
答案 0 :(得分:33)
如MySQL的文档中所述,自5.7.8起支持本机JSON数据类型。
与在字符串列中存储JSON格式字符串相比,JSON数据类型具有以下优势:
因此,正如MySQL文档所述,应该使用JSON数据类型而不是文本。
答案 1 :(得分:28)
blob
通常用于图像,二进制文件等内容。text
应该足够适合您的情况,或者您可以使用具有更大空间容量的longtext
,如果它真的是关注。
搜索方式,既然你要存储json_encode
'd东西,你仍然需要在它上面调用json_decode
,因为它在你的应用程序中有用,我不认为选择在这种情况下,数据类型很重要。
更好的方法是规范化您的数据库设计,而不是将相关的东西存储在一个大的json字符串中。