sql - 当不允许组合键时创建散列主键

标签 sql django schema hashtable composite-primary-key

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

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

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

感谢您提供任何信息。

Composite primary key, Google app engine (django)

最佳答案

存储两列的散列作为主键可读性不太好。你可以考虑一个替代方案。例如,对于销售员和年份,您可以使用销售员的姓名,然后使用下划线,然后使用年份作为主键:

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

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

但是,如果您愿意的话,哈希是一种完全安全且常见的技术。

关于sql - 当不允许组合键时创建散列主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854432/

相关文章:

sql - 从SQL Server 2012作为消息返回BCP输出(由MATLAB读取)

python - django 出现 urls.py 语法错误,我不知道为什么

django dumpdata => 在 heroku 上加载

python - docopt + 模式验证

python - 架构 - 能够在 Django 中更改电子邮件地址(主要用户 ID)

sql - 具有日期比较的Hive查询中的意外行为

sql - 将 postgres 交叉表查询转换为 SQL

SQLite 数据库与 Squirrel : No relations

python - 如何通过 django 代码识别我的 Linux 电脑上的文本文件而不检查其扩展名及其文件大小?

button - Google Plus 共享按钮未显示说明标签... Google 平台未宣布的更改?