我正在處理處理大量數據的項目。在每個表格中,有100k或更多的數據可用。現在我需要運行SQL更新查詢,但我不工作。如何處理mysql中龐大的數據庫?
我該如何解決這個問題?查詢在我的本地主機上成功運行,只有少量數據。但在服務器上它不起作用
請幫助我。
UPDATE buzz_business_view b, daily_deals d
SET d.business_id = b.`Business ID`
WHERE d.phone = b.phone
感謝
我正在處理處理大量數據的項目。在每個表格中,有100k或更多的數據可用。現在我需要運行SQL更新查詢,但我不工作。如何處理mysql中龐大的數據庫?
我該如何解決這個問題?查詢在我的本地主機上成功運行,只有少量數據。但在服務器上它不起作用
請幫助我。
UPDATE buzz_business_view b, daily_deals d
SET d.business_id = b.`Business ID`
WHERE d.phone = b.phone
感謝
確保您加入列索引。
使用where約束一次選擇幾行。不要試圖一次性更新整個表格。
從邏輯上將您的表根據表的主鍵劃分爲多個部分,並一次更新一個部分。
爲了獲得最佳性能,您需要爲JOIN謂詞提供合適的索引。
CREATE INDEX ... ON buzz_business_view (phone,`Business ID`) ;
CREATE INDEX ... ON daily_deals (phone) ;
當你說UPDATE語句「不工作」,並在聲明中拋出一個錯誤,做它似乎只是掛了,或者是成功完成的發言,但結果並不如你期望。
只是似乎掛起 – user1559230
您應該發佈您的查詢和關於您的表的更多信息 – burmat
查詢在本地主機上成功運行。雖然我在帖子中添加了。 – user1559230