我用gateway,在onMessage中用db类插入接收到的数据,模拟器在10s中发送了5万条数据。使用的gateway中的db类,用
$db1->insert('Persons')->cols(array('Firstname'=>'abc', 'Lastname'=>'efg', 'Sex'=>'M', 'Age'=>13))->query();
一条一条的插入。gateway接收数据后,花了大约20分钟才把数据完全存储到mysql中。
我想用
$db1->query("INSERT INTO Persons ( Firstname,Lastname,Sex,Age) VALUES ( 'abc', 'efg', 'M', 13)");
这样的方法直接调用sql批量插入,似乎系统不支持。
不知道版主有没有什么好的解决方法。多谢解答
这个跟workerman没有关系。是mysql自身的瓶颈。可以考虑加入到队列里,或者MC里。然后异步存储到数据库中。
我想先使用原生的sql语句批量插入到数据库中,这样性能应该有比较大的提高,但是不知道在workerman中如何使用,请问有什么方法吗
@291:自己组装好语句,再执行吧!