我的数据库中的大多数表都有varchar类型和长度设置为36的数据,用于填充本地创建的guids。在mysql中,varchar是最适合存储GUID值的数据类型还是其他类型?请解释一下
发布于 2011-01-12 23:10:30
这是个好问题。我在很多地方看到他们使用varchar来表示各种看起来像数字的ID。那么为什么不使用整数呢?根据我的经验,主要有三种情况:
希望这能有所帮助。
发布于 2011-01-12 23:05:46
你可能想看看PROCEDURE ANALYSE。它可以帮助您根据表中已有的内容建议适当的数据类型。
这里有一个blog post,它也谈到了过程分析,可能也会有所帮助。
发布于 2011-01-13 01:38:58
如果您的GUID总是长度为36且不为null,请使用CHAR而不是VARCHAR。它将节省空间,因为VARCHAR必须为每行存储一个长度前缀。
此外,如果所有列的长度都是固定的,那么在某些情况下会提高性能,因为数据库可以更有效地扫描行。
MySQL Reference Manual - The CHAR and VARCHAR Types
https://stackoverflow.com/questions/4670147
复制相似问题