主键的性能差异

时间:2014-04-21 16:10:58

标签: mysql

我有一个包含4列的表格:

id1 int
id2 text  or varChar
 type
 timestamp

主键是(id1,id2,type) 我想改为(id2,id1,type)

性能有什么不同?也许它会与性能上的键相似?

2 个答案:

答案 0 :(得分:1)

不要添加这种类型的主键,对主键使用long / int值,或者如果数据库有一个序列,则使用序列。
而且,如果您想使列或列组合成为唯一,只需将其标记或组合为唯一。
此外,对于非主键的列,您还可以根据需要为其添加索引键。

答案 1 :(得分:0)

您将拥有两个索引,例如: id1id2type - 在一起(因此您必须在WHERE子句中使用所有三列)。

另外

1个案例(id1,id2,类型) - 您可以在WHERE单独id1中使用。

2个案例(id2,id1,类型) - 您可以在WHERE单独id2中使用。

但是使用多个列作为主键并不是一个好习惯。