据我所知,有很多关于是否应该使用 UUID 进行 PK 或与此相关的任何地方的线程和信息。这不是我的问题。
假设,我们有一个表,其中有一个 varchar(36) 列来存储 UUID。我的问题很简单,如果我们假设应用程序不关心它的完成方式,那就更好了:
1) 通过表上的触发器将新的 UUID 放入每一行
或者
2) 使用 UUID() 函数通过插入查询直接将新的 UUID 插入到每一行中,例如 “插入 mytable 值 (UUID())” 或者 “设置@var=UUID();插入mytable值(@var);
MySQL 5.7.x(如果重要的话)。
最佳答案
选择第二个选项即可。使用触发器在插入查询中直接轻松地完成一项工作是没有意义的。您仍将在触发器中调用 UUID 函数。第一个比第二个稍微复杂一些,它无助于提高性能。
第一种方法利用了 DRY(不要重复自己)原则,这是一种很好的编程实践。它还确保所有 ID 都是真正的 UUID。
关于mysql - 通过触发器插入 UUID 与 UUID - 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48919601/