我正在做一个MySQL的大连接,然后对结果数据进行操作并将其写入另一个表。现在,我使用默认的mysql_store_result,但查询后需要大约20分钟才能运行$ sth-> execute()。我想切换到mysql_use_result,因为我一次只处理一行。Perl DBD :: mysql'mysql_use_result'插入到另一个表时可以使用吗?
但是,文档的这部分困扰着我:
这个属性强制驱动程序使用了mysql_use_result,而不是了mysql_store_result。前者速度更快,内存消耗更少,但往往阻碍其他进程。 (这就是为什么mysql_store_result是默认设置。)
我一次只处理一行,然后将结果存储在数组中。每500个条目,我做一个INSERT到一个单独的表。这可以从mysql_use_result循环中完成吗?如果为INSERT定义新的DB处理程序,可以吗?
最后一行只是让我更加怀疑。我没有写信到同一张桌子,因为我正在阅读。 –
你不是,但是有人吗?无论如何,这个mysql页面上的东西很清楚,你需要一个单独的连接来做其他的事情。 – ysth
我会继续尝试。我会标记你为答案。 –