我正在使用 MySQL 和 spring jdbc 开发一个应用程序,如果我的应用程序的多个实例访问一个表以插入记录,我正在设计一个表,请记住将来
以这个场景为例。
user
--id
--name
--age
--sex
我有三个并行运行的节点
------------------- ------------------- -------------------
| node 1 | | node 2 | | node 3 |
| app instance 1 | | app instance 2 | | app instance 3 |
------------------- ------------------- -------------------
在这种情况下,当多个节点同时访问时如何管理我的主键user.id
- 在主键上使用自动增量时我会遇到问题吗?
- 我可以通过代码处理、增加 id 并以编程方式插入吗?我在并发期间看到了潜在的问题,但现在我正在遵循这种方法。
- 是否有任何其他机制来处理主键生成的并发问题。
这方面的最佳做法是什么。
编辑:-我正在使用spring jdbc批量插入,我需要通过自动增量生成id,但是使用jdbc批处理这是不可能的,因此我手动增加id并插入。