【发布时间】:2020-11-16 12:47:04
【问题描述】:
我不是数据库专家,但我对 SQL 中的自动递增感到好奇。 它是否有效,我的一个朋友,他的意见,他没有使用自动增量,而是每次插入东西时都取最后一个 id。我怀疑是使用他的想法,我认为效率较低,还是使用数据库本身提供的自动递增。
【问题讨论】:
-
MySQL 还是 SQL Server?无论如何,除非您有非常非常好的理由,否则请使用自动增量。
-
自动增量或序列总是更快。当您自己执行此操作时,您只能在可序列化的隔离级别执行此操作。否则你可能有重复的数字。
-
“我的一个朋友,他的意见,他没有使用自动递增,而是每次插入东西时都取最后一个 id。” - 我敢打赌他做错了!
-
我已经删除了这里所有冲突的标签。 SQL Server 与 PHPMyAdmin(一个基于 Web 的 MySQL IDE)或 MySQLi(一个用于在 PHP 中与 MySQL 交互的库)没有交互。
-
"他每次插入东西时都会使用最后一个 id" - 有两种方法可以实现该反模式。对于许多并发事务来说不正确(这是大多数人所做的)或正确且不可扩展。
标签: sql auto-increment