【发布时间】:2014-01-13 12:02:46
【问题描述】:
我有很多表,数百万行,使用 MySQL。这些表用于存储日志行。 我在 VARCHAR(50) 中有一个字段“国家”。此列上有一个索引。 将 countryId 存储在 INT 而不是这个 country 字段会大大改变性能吗?
谢谢!
【问题讨论】:
-
一个 int 总是 1 个字节。 varchar 是 numchars+1 个字节。所以是的,它会对速度产生巨大影响
-
@user1281385:
int不仅仅是 1 个字节。这将使其范围仅从 0 到 256。但通常是 4 个字节。 -
@juergend 哎呀,好地方。答案仍然存在
-
要考虑的另一点是,国家有时会更改名称 - 这意味着外国会以新名称 - 缅甸 -> 缅甸来承认这些国家。
标签: mysql performance integer innodb varchar