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

有这张桌子。
| id | domain |
id
是主键。
domain
是一个独特的密钥。 我想要: 如果新域已不存在,请插入新域。 获取该域名的
id
。 现在我这样做:
INSERT INTO domains
SET domain = 'exemple.com'
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id)
然后
PDO::lastInsertId()
得到
id
。 但关键是这个速度尽可能快,所以我会问:我可以用更好的方式做到这一点吗?     
已邀请:
直到有人说不然,我说不,这是最好的方式。     
此方法有副作用:“每次找到重复键时,自动增量ID增加1”。 当第一次使用exemple.com作为值运行查询时 它创建了条目。让我们再次重复该查询13次。在那之后你尝试使用xyz.com,你会惊讶地发现,而不是自动增加id = 2你得到15。 1例子 15 xyz.com 25 pqr.com 50 thg.com     

要回复问题请先登录注册