我的问题是关于下面帖子中看到的解决方案......我认为这是一个很棒的主意。特别是因为Django多年来一直存在复合主键问题。对我来说,这是一个很好的解决方法,因为你事先知道这些项目。然而,考虑到很多人在django中研究了复合键,这似乎没有什么反馈。有人可以指出这种方法的缺点吗?
我觉得只要销售人员有一个唯一的ID,你就不应该有任何哈希冲突吗?即使岁月重叠。此外,只要您在salesperson列上提供索引,就可以执行快速select语句,因为这会模拟自动放置在主键上的索引。
然而,我显然只看到了积极的一面,使用这种方法是否存在危险。
感谢您提供任何信息。
答案 0 :(得分:2)
将两列的哈希值存储为主键并不是非常易读。你可以考虑另一种选择。例如,对于业务员和年份,您可以使用销售员的名称,然后使用下划线,然后将年份作为主键:
ID Salesman Year ...
Joe_2011 Joe 2011 ...
这比存储哈希要容易得多。
然而,哈希是一种非常安全和常用的技术,如果你喜欢的话。