我有一个MySQL表(〉100k行),其中包含从两个不同的API导入的数据。因此,来自每个API的UID具有明显不同的长度(第一个API为35,第二个为19)。这些UID是字母数字字符串(第一个API为AMANR5L16PO791932BTC0014P0D1N000001
,第二个API为AMSNT006654N00II598
)。
这些UID是我的表的主键。
我想知道,将长度最大为35的主键存储为VARCHAR(35)
,与将统一长度为35的主键(通过在最短UID的末尾添加“XXX”,以便只具有长度为35的UID)存储为CHAR(35)
,两者之间的性能最佳。
1条答案
按热度按时间iaqfqrcu1#
不要填充。即使是1000亿行也不行。
VARCHAR
将只存储实际数据(加上一个长度)。缩小空间也提供了一些性能。但这两种方法都不值得轻视。