我有一个表来检查具有特定 ip 地址的用户是否对某个项目进行了评级,这些列:rates(ip,item_id,created_at)
我可以为这个表定义两个主键
1-主要(ip,item_id)
2-主(id)
但我真的不需要它们,因为该表需要没有连接和没有更新,我应该定义主键吗? 我只能索引 item_id 和 ip 以提高性能,但不能索引主键。
最佳答案
查看 SELECTs
中的 WHERE
子句。这是一种查看需要索引的内容的快速且(非常)肮脏的方法。
你应该有 PRIMARY KEY
。它必须是独一无二的。它可以是“自然”键——如果您不想要任何重复的 ip
值,那是一个很好的选择。如果您没有“自然”PK,则可以使用 AUTO_INCREMENT
。
你不能有两个PRIMARY KEY
,但一个主键可以有两列。
关于mysql - 我的表不需要主键,我应该使用一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998105/