如何处理mysql中庞大的数据库?
问题描述:
我正在处理处理大量数据的项目。在每个表格中,有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语句“不工作”,并在声明中抛出一个错误,做它似乎只是挂了,或者是成功完成的发言,但结果并不如你期望。
+0
只是似乎挂起 – user1559230
您应该发布您的查询和关于您的表的更多信息 – burmat
查询在本地主机上成功运行。虽然我在帖子中添加了。 – user1559230