PDO :: lastInsertId是否可靠且插入速度非常快?

时间:2011-09-25 16:27:26

标签: php mysql pdo yii

我正在使用Yii PHP框架,它有一个函数PDO :: lastInsertId,它显然只是PDO :: lastInsertId的一个实现。如果我的应用程序可能有数千个并发用户非常快速地插入,那么这个函数是否可靠获取我刚插入的数据的自动递增行ID?

我需要获取我刚刚插入的行的id,以便在插入本身后执行一些工作,但是要确保如果插入速率非常高,则不会导致不一致的结果。

谢谢!

1 个答案:

答案 0 :(得分:12)

是的,当然,不用担心,但是你必须确保在插入查询之后询问lastInsertId。在此期间,不应该对该连接执行任何其他查询,每个PHP进程必须具有单独的连接。

此外,如果您认为某个表每秒会有数百或数千个插入,请考虑不使用索引或使用最少量的索引。如果MySQL支持MyISAM表。