在早期开发期间,我倾向于使用运行数字作为主键来创建表,尽管每个表都有一个真正的ID列。我倾向于忘记映射表之间的关系,如果我没有错,即使表不再为空,也可以在以后添加。在设置Index列时也是如此。
我知道这可能不是建立一个新的应用数据库的最佳方法,但是是否有任何永久的陷阱,在那里所造成的损害可能是不可逆转的,使这个习惯可能“致命”?
谢谢。
发布于 2020-10-13 10:15:55
是否有任何永久的陷阱,造成的损害可能是不可逆转的,使这个习惯潜在的“致命”?
简短回答:不。
你对你的数据库所能做的很少是“致命的”。
也就是说,在大多数DBMS中,更改主键和外键是一种痛苦,如果可能的话,应该避免。此外,您还需要索引来支持所有新的键字段(以及引用这些索引的外键字段),并构建所有这些索引可能需要一些时间,并且可能会在运行中的应用程序中引起争用问题,因此,如果您可以安全地避开所有/所有其他内容,那么您可能希望在维护窗口中这样做。
我倾向于使用运行数字作为主键来创建表,尽管每个表都有一个真正的ID列。
我觉得这是个坏主意。
如果你已经有了一个自然的主键,那么我建议你使用它。
为什么要重复你自己的努力,代孕密钥?此外,您还必须在自然键上创建额外的、唯一的索引,您可以使用主键“免费”获得这些索引。
https://dba.stackexchange.com/questions/277962
复制相似问题