mysql 优化主键uid:相同长度的较长CHAR与不同长度的较短VARCHAR

ttp71kqs  于 2022-10-31  发布在  Mysql
关注(0)|答案(1)|浏览(181)

我有一个MySQL表(〉100k行),其中包含从两个不同的API导入的数据。因此,来自每个API的UID具有明显不同的长度(第一个API为35,第二个为19)。这些UID是字母数字字符串(第一个API为AMANR5L16PO791932BTC0014P0D1N000001,第二个API为AMSNT006654N00II598)。
这些UID是我的表的主键。
我想知道,将长度最大为35的主键存储为VARCHAR(35),与将统一长度为35的主键(通过在最短UID的末尾添加“XXX”,以便只具有长度为35的UID)存储为CHAR(35),两者之间的性能最佳。

iaqfqrcu

iaqfqrcu1#

不要填充。即使是1000亿行也不行。VARCHAR将只存储实际数据(加上一个长度)。缩小空间也提供了一些性能。但这两种方法都不值得轻视。

相关问题