哪个更快如果我想在表格中维护一个唯一的字段
运行选择查询,然后插入查询
或者直接运行插入查询,但在表中有一个唯一的字段
答案 0 :(得分:1)
如果要在数据库中维护唯一列,请使用数据库机制。在列上创建唯一索引或唯一约束。使用数据库,而不是反对它。
此外,您的第一种方法存在一个主要问题。你正在引入竞争条件。两个进程可能会尝试同时插入相同的记录。他们都会查看表中的值,两者都会看到插入是可以的。然后两者都会插入相同的值,创建一个副本。
当然,有一些解决方法,通常涉及事务逻辑或锁定表。这两者都会带来额外的开销,从而降低性能。
只需创建一个独特的列,不要担心其独特性 - 数据库会让您担心。