我有3个选项可以将新的UNIQUE id(primary_key)添加到我的某个特定表中。
我目前正在使用选项 2 ,因为人们可能会从他们访问的表中删除行,因此ID会被释放,否则我会使用选项 1 < / p>
你有什么建议?
答案 0 :(得分:3)
你总是使用选项1(为了避免两个同时插入客户端的race hazard在完成插入之前读取当前最大值id
。 AUTO_INCREMENT
通过使用使读取和读取的锁定来防止这种危险的发生。写操作原子。
答案 1 :(得分:1)
选项1
AUTO_INCREMENT
是 最简单的实施和维护方式
答案 2 :(得分:1)
创建一个数据库序列并使用它,即使在多线程访问场景和分布式环境以及集群环境中也能让您更加节省。