我正在做一個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
我會繼續嘗試。我會標記你爲答案。 –