在我的应用程序中,有许多外键依赖关系,并且经常插入大量行。到目前为止,我所做的就是一次仅运行一个插入,并记录插入ID。即使在同一服务器上运行apache和mysql时,在插入大量行时这往往需要很长时间。
我的问题是,如果我改变我的应用程序以添加多行而不是单行插入,我是否可以根据mysql连接返回的最后一个插入ID严格假定每一行的ID?问题是偶尔会有多个人同时将大量信息放入数据库中。
从我所能确定的情况来看,似乎可以安全地假设当您插入500行时,您的插入ID将范围从(lastInsertID)到(lastInsertID + 499),无论另一个连接的查询是否在完成所需时间内开始或结束,但我想确保这被接受为安全实践。
我主要运行InnoDB,但有时也会有MyISAM。
谢谢大家!
-Jer
我的问题是,如果我改变我的应用程序以添加多行而不是单行插入,我是否可以根据mysql连接返回的最后一个插入ID严格假定每一行的ID?问题是偶尔会有多个人同时将大量信息放入数据库中。
从我所能确定的情况来看,似乎可以安全地假设当您插入500行时,您的插入ID将范围从(lastInsertID)到(lastInsertID + 499),无论另一个连接的查询是否在完成所需时间内开始或结束,但我想确保这被接受为安全实践。
我主要运行InnoDB,但有时也会有MyISAM。
谢谢大家!
-Jer