mysql - 最快的插入方式,如果不存在,则在 MySQL 中获取 id

标签 mysql performance optimization pdo lastinsertid

有这张 table 。

| id | domain |

id 是主键。 domain 是一个唯一的键。

我想:

  1. 插入一个新域(如果尚不存在)。
  2. 获取该域的 id

现在我是这样做的:

INSERT INTO domains
SET domain = 'exemple.com'
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id)

然后PDO::lastInsertId() 得到id

但尽可能快是至关重要的,所以我想问:我能以更好的方式做到这一点吗?

最佳答案

除非有人反对,否则我会说不,那是最好的方式

关于mysql - 最快的插入方式,如果不存在,则在 MySQL 中获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203171/

相关文章:

php - Laravel + Homestead SQLSTATE[HY000] [2002] 无法连接

mysql - 统计mysql/php中所有值为0或1的记录列

mysql - IFNULL() 等价于 PostgreSQL

performance - 大量数据的分页和排序

java - Spring JPA 多对多持久性问题

javascript - 如何加速 javascript 表格渲染?

java - C# 中子字符串的实现及其使用的算法是什么?

c++ - std::vector-like 类优化以容纳少量项目

c++ - 是否允许编译器像带有 -O2 的英特尔 C++ 编译器那样删除无限循环?

c++ - 链接时优化和内联