2013-01-11 69 views
1

我正在處理處理大量數據的項目。在每個表格中,有100k或更多的數據可用。現在我需要運行SQL更新查詢,但我不工作。如何處理mysql中龐大的數據庫?

我該如何解決這個問題?查詢在我的本地主機上成功運行,只有少量數據。但在服務器上它不起作用

請幫助我。

UPDATE buzz_business_view b, daily_deals d 
SET d.business_id = b.`Business ID` 
WHERE d.phone = b.phone 

感謝

+0

您應該發佈您的查詢和關於您的表的更多信息 – burmat

+0

查詢在本地主機上成功運行。雖然我在帖子中添加了。 – user1559230

回答

2

確保您加入列索引。

使用where約束一次選擇幾行。不要試圖一次性更新整個表格。

從邏輯上將您的表根據表的主鍵劃分爲多個部分,並一次更新一個部分。

0

爲了獲得最佳性能,您需要爲JOIN謂詞提供合適的索引。

CREATE INDEX ... ON buzz_business_view (phone,`Business ID`) ; 

CREATE INDEX ... ON daily_deals (phone) ; 

當你說UPDATE語句「不工作」,並在聲明中拋出一個錯誤,做它似乎只是掛了,或者是成功完成的發言,但結果並不如你期望。

+0

只是似乎掛起 – user1559230

相關問題