如果相同的字符串存储在多行中,MYSQL 是否以最佳方式存储它?

1 mysql database storage

我有一个表,其中一列是一种用于对表中的几行进行分组的 id 字符串。假设列名是“map”,map 的值之一是例如“walmart”。该列上有一个索引,因为我习惯于过滤属于某个地图的那些行。

我有很多这样的地图,我不知道不同的地图值从表中占用了多少空间。MYSQL 是否识别为多行存储相同的映射值并且仅在内部存储一次并且仅使用内部数字 id 引用它?

或者,如果我想减小表的大小,我是否必须明确地用数字 id 替换映射字符串并使用不同的表将映射字符串与 id 配对?

Gre*_*reg 5

MySQL 将存储每一行​​的全部数据,而不管数据是否已经存在于不同的行中。

如果您有一组有限的选项,您可以使用 ENUM 字段,否则您可以将名称拉入另一个表并加入它。