固定长度字符串的MYSQL VARCHAR或CHAR

Jus*_*tin 9 mysql varchar char

如果我知道存储在MySQL中的值总是正好是32个字符,那么制作列类型CHAR而不是VARCHAR?使用VARCHAR和CHAR之间的性能差异究竟是什么?

谢谢.

hkf*_*hkf 7

我会用CHAR.

如果您可能在列上搜索,则会CHAR进行小的性能升级VARCHAR.

由于您的数据大小将被修复,因此使用没有任何缺点CHAR,因为VARCHAR等效将存储1到2个字节作为前缀.

参考:MySQL CHAR vs VARCHAR


Cam*_* S. 7

第一个问题的答案是"使列类型CHAR而不是VARCHAR的性能更好吗?"......是的.当然.

如果你总是知道长度是32,那么你一定要使用CHAR.

这里还给出了几个很好的答案: 为什么我会在SQL中选择CHAR over VARCHAR?