2013-01-11 37 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

相关问题