MYSQL独有VS php SELECT然后插入..哪个更快?

时间:2014-12-11 15:01:27

标签: php mysql mysqli unique

哪个更快如果我想在表格中维护一个唯一的字段

运行选择查询,然后插入查询

或者直接运行插入查询,但在表中有一个唯一的字段

1 个答案:

答案 0 :(得分:1)

如果要在数据库中维护唯一列,请使用数据库机制。在列上创建唯一索引或唯一约束。使用数据库,而不是反对它。

此外,您的第一种方法存在一个主要问题。你正在引入竞争条件。两个进程可能会尝试同时插入相同的记录。他们都会查看表中的值,两者都会看到插入是可以的。然后两者都会插入相同的值,创建一个副本。

当然,有一些解决方法,通常涉及事务逻辑或锁定表。这两者都会带来额外的开销,从而降低性能。

只需创建一个独特的列,不要担心其独特性 - 数据库会让您担心。