我正在设计一个存储各种大小的JSON字符串的数据库。我考虑使用不同的表格(每个表格有两列,' id'和#39;数据')来存储不同的字符串大小(tinytext - bigtext)。在这种情况下,将从包含最小字符串大小的表开始搜索每个表。
我还考虑使用单个字符串大小的单个表,并使用多行来存储大型JSON字符串。
..或者我可以创建一个具有大VARCHAR大小的表,并节省一些开发时间。
我正在设计两点:
在某些情况下,mysql会存储一小段数据"在行"这有助于提高绩效这意味着什么?我如何利用这一点?
在某些情况下,mysql将VARCHAR作为其最大可能大小处理。什么时候发生这种情况,我该如何避免呢?
答案 0 :(得分:1)
从数据库的角度来看,varchar没有特别“好”的长度。但是,请尝试将最大行大小保持在8kb以下,包括非聚集索引。然后,您将避免MySQL存储数据,这会妨碍性能。
答案 1 :(得分:0)
使用255
Why historically do people use 255 not 256 for database field magnitudes?
虽然,作为旁注,如果您正在使用PHP并尝试插入超过1000个字符的字符串,则需要在插入之前截断到PHP端的最大字符串大小,否则您将遇到错误