你應該看看MySQL錯誤日誌。
如果你沒有訪問機器(託管等),你可以問你的管理員或幫助臺的日誌。
MySQL支持非常大的查詢。林不知道是否有任何限制,但當你使用網絡 - 你可能有問題包大小。
您可以在MySQL配置中檢查--max_allowed_packet
,並嘗試設置更大的數據包大小。我不確定有關默認配置,但它可能是1MB,這可能是太小的價值,一次查詢7000更新。
MySQL可能需要更多的RAM來處理這樣的查詢。
如果你不能重新配置MySQL,你必須以某種方式將你的大查詢分割成更小的查詢。
你也可以看一下這更多信息:
你問:
任何可能以更快的速度運行多個查詢?
這個問題沒有簡單的答案。這取決於查詢,數據庫模式等。
在配置文件中增加MySQL緩存大小在大多數情況下可能與很多簡單更新有關,但計算量不大,因爲數據庫引擎將在RAM內存上運行,而不是在硬盤上運行。當使用大緩存時 - 有時第一個大查詢可能會比較慢,因爲數據尚未加載到RAM中,但當它最終加載時 - 需要大量讀/寫操作的查詢將運行得更快。
後來補充: 我假設你的數據處理需求可能難以在純SQL實現PHP反序列化()函數,你必須這樣做在PHP :)如果你有機會到服務器控制檯可以創建cron(linux sheduler)作業,在夜間從shell調用PHP腳本。
稍後再添加 經過討論後,我有一個更多的想法。您可以從phpmyadmin製作完整數據庫或一個表的備份,下載它,恢復家庭計算機上的數據(在Windows上您可以使用XAMPP,WAMP服務器)。在家用電腦上,您可以運行mysql.exe並在本地處理數據。
我認爲這不是字符串的長度,而是執行所有語句所需的時間。 – GolezTrol
如果我運行它在phpmyadmin它運行在3秒內 –
請再讀我的答案。我在接受我的文章後添加了一些關於「更快查詢」的內容。 – Kamil