0

我正在设计一个数据库,它将存储各种大小的 JSON 字符串。我正在考虑使用不同的表(每个表有两列,“id”和“data”)来存储不同的字符串大小(tinytext - bigtext)。在这种情况下,将搜索每个表,从包含最小字符串大小的表开始。

我还在考虑使用具有单个字符串大小的单个表并使用多行来存储大型 JSON 字符串。

..或者我可以创建一个具有大 VARCHAR 大小的表并为自己节省一些开发时间。

我正在设计两点:

在某些情况下,mysql“按行”存储小块数据,这有助于提高性能。这是什么意思,我该如何利用这一点?

在某些情况下,mysql 将 VARCHAR 处理为其最大可能大小。这种情况何时发生,我该如何避免?

4

2 回答 2

1

从数据库的角度来看,varchar 没有特别的“好”长度。但是,尽量将最大行大小保持在 8kb 以下,包括非聚集索引。然后,您将避免 MySQL 将数据存储在行外,这会影响性能。

于 2013-06-25T21:11:32.170 回答
0

使用 255

为什么历史上人们使用 255 而不是 256 来表示数据库字段大小?

虽然,作为一个侧面说明,如果您正在使用 PHP 并尝试插入超过 1000 个字符的字符串,您需要在插入之前在 PHP 端截断到您的最大 col 大小,否则您会遇到错误。

于 2013-06-25T21:09:48.257 回答