Php 编码点火器';s insert_batch()函数的性能和限制?

Php 编码点火器';s insert_batch()函数的性能和限制?,php,mysql,performance,codeigniter,Php,Mysql,Performance,Codeigniter,我正在编写一个通过sms网关发送sms的应用程序,并且(显然)在数据库中保留了一份该消息的副本。到目前为止,为了原型化,我使用Codeigniter的活动记录类将每条消息逐个插入数据库,但对于批量发送消息,我将使用insert\u batch()加快整个过程。我说的是每次用户请求1000-5000条短信,甚至更多 我的问题是,insert\u batch()?或者,它用于每个批处理作业的插入次数较少。在一次插入中使用多行进行自定义mysql查询更安全还是更快?使用insert\u batch()

我正在编写一个通过sms网关发送sms的应用程序,并且(显然)在数据库中保留了一份该消息的副本。到目前为止,为了原型化,我使用Codeigniter的活动记录类将每条消息逐个插入数据库,但对于批量发送消息,我将使用
insert\u batch()
加快整个过程。我说的是每次用户请求1000-5000条短信,甚至更多

我的问题是,
insert\u batch()?或者,它用于每个批处理作业的插入次数较少。在一次插入中使用多行进行自定义mysql查询更安全还是更快?使用
insert\u batch()
插入的行数是否有任何限制


以前有没有其他人用它做过大量的插入?如果是,您有什么经验?

插入\u批处理很好,因为您只需使用一个查询将信息插入数据库

这比循环一系列语句要好得多

如您所知,每个语句都是connect->query->close


我建议您只需连接一次数据库,而不是重复连接。

Insert\u批处理很好,因为您只需使用一个查询即可将信息插入数据库

这比循环一系列语句要好得多

如您所知,每个语句都是connect->query->close


我建议您只连接一次数据库,而不是重复连接。

经过一周的
insert\u batch()
测试和处理约1000.000条记录,使用
insert\u batch()
我遇到了另一个SO问题中描述的以下问题:


因此,根据我个人的经验,insert_batch()对于10.000+行的大规模插入是不可靠的,因为它有时不能插入所有可能导致db不一致的内容。对于我的表现我没有任何问题,到目前为止我很满意。在安装了CentOS的旧PC(p4 w/1GB RAM)中以大约100秒的速度运行10.000行。

经过一周的
insert_batch()
测试和处理大约1.000.000条记录后,我遇到了另一个SO问题中描述的以下问题:


因此,根据我个人的经验,insert_batch()对于10.000+行的大规模插入是不可靠的,因为它有时不能插入所有可能导致db不一致的内容。对于我的表现我没有任何问题,到目前为止我很满意。在安装了CentOS的旧PC(带1GB内存的p4)中,以大约100秒的速度运行10000行。

当然可以。我知道。这就是我将使用insert_batch()的原因。但实际的问题是,如果insert_batch一次不能处理10-50-100条记录,而是更像5000多条记录,那么我应该期望从中获得什么样的性能。当然。我知道。这就是我将使用insert_batch()的原因。但实际的问题是,如果insert\u batch一次不能处理10-50-100条记录,但更像5000+条记录,那么我应该期望从中获得什么样的性能。在我的expirience中,insert\u batch()有时完全失败,什么也不做,什么也不返回……在我的expirience中,insert\u batch()有时完全失败,什么也不做,什么也不返回。。。