2

我的问题是关于下面帖子中看到的解决方案......我认为这是一个绝妙的主意。特别是因为 Django 多年来一直存在复合主键问题。对我来说,这是一个很好的解决方法,因为您事先知道这些项目。然而,鉴于有这么多人研究了 django 中的复合键,这似乎没有什么反馈。有人可以指出这种方法的缺点吗?

我觉得只要销售人员有一个唯一的 ID,你就不应该有任何哈希冲突正确吗?即使岁月重叠。此外,只要您在 salesperson 列上提供索引,您就可以执行快速选择语句,因为这会模拟自动放置在主键上的索引。

但是,我显然只看到了积极的一面,使用这种方法是否存在危险。

感谢您提供任何信息。

复合主键,谷歌应用引擎(django)

4

1 回答 1

2

存储两列的哈希作为主键不是很可读。你可以考虑另一种选择。例如,对于销售员和年份,您可以使用销售员的姓名,然后是下划线,然后是年份作为主键:

ID         Salesman    Year    ...
Joe_2011   Joe         2011    ...

这比存储哈希更容易调试。

但是,如果您喜欢,散列是一种非常安全且常用的技术。

于 2013-04-06T18:29:06.133 回答