我有一个表,其中PRIMARY KEY是一个类型为VARCHAR
的字段CREATE TABLE table ( name VARCHAR(100) PRIMARY KEY, ....);
字段的类型会影响此表索引的性能吗?为了说明下表在索引元组中的表现会更好吗?
CREATE TABLE table ( name INT PRIMARY KEY, ....);
答案 0 :(得分:2)
是。显然,有更多数据要用长字符串索引。这会影响构建索引所花费的时间,查找索引中值的时间以及磁盘和内存使用情况。对于引用主键的任何外键,也会重复此操作。
然而。如果您的“名称”需要一个唯一约束,那么无论如何,您最终都会在该列上获得唯一索引。然后你就可以了解你可能拥有的外键。
在你开始担心太多之前,花点时间用一些现实的数据和活动来衡量影响。如果不值得花时间进行适当的测量,那么它们可能也不值得担心。