我认为不暴露自动递增的数据库ID(帐户,产品等)是更好的方法。我们可以使用UUIDs&通过API或网页公开。
但我检查过许多大公司似乎并不关心:
亚马逊似乎关心的一个案例:
那么,在使用UUID时,我们是否试图解决不存在的问题?只是不值得花时间和努力?
答案 0 :(得分:2)
关于在帐户表中使用自动递增ID,以下是一个不好主意的原因:
使用自动递增ID并插入多个相关实体时,需要对数据库进行多次调用才能将实体插入数据库中。如果使用UUID,则可以构建整个对象集,而无需与数据库交互。例如,对于订单表头和订单行项目,您需要插入订单表头,获取主要ID,然后插入带有订单表头ID的订单行项目。
将数据从开发人员迁移到登台或登台生存时,如果使用自动递增ID和外键等,插入新数据可能具有挑战性。