我的问题是关于下面帖子中看到的解决方案......我认为这是一个很棒的主意。尤其是 Django 多年来一直存在复合主键问题。对我来说,鉴于您提前了解了这些项目,这是一个很好的解决方法。然而,考虑到很多人研究过 django 中的复合键,这似乎没有什么反馈。有人可以指出这种方法的缺点吗?
我觉得只要销售人员有唯一的 ID,就不应该有任何哈希冲突,对吗?即使岁月重叠。此外,只要您在 salesperson 列上提供索引,您就可以执行快速选择语句,因为这会模拟自动放置在主键上的索引。
但是,我显然只看到积极的一面,使用这种方法是否存在危险。
感谢您提供任何信息。
最佳答案
存储两列的散列作为主键可读性不太好。你可以考虑一个替代方案。例如,对于销售员和年份,您可以使用销售员的姓名,然后使用下划线,然后使用年份作为主键:
ID Salesman Year ...
Joe_2011 Joe 2011 ...
这比存储哈希值更容易调试。
但是,如果您愿意的话,哈希是一种完全安全且常见的技术。
关于sql - 当不允许组合键时创建散列主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854432/