我正在处理他们处理大量数据的项目。在每个表中,有100k或更多数据可用。现在我需要运行sql update query但是我不行。
我该如何解决这个问题?查询在我的localhost上成功运行,只有很少的数据。但在服务器上它不起作用
请帮帮我。
UPDATE buzz_business_view b, daily_deals d
SET d.business_id = b.`Business ID`
WHERE d.phone = b.phone
由于
答案 0 :(得分:2)
确保您要加入的列已编入索引。
使用where约束一次选择几行。不要试图一次性更新整个表格。
根据表格的主键将表格逻辑划分为多个部分,并一次更新一个部分。
答案 1 :(得分:0)
为了获得最佳性能,您需要为JOIN谓词提供合适的索引。
CREATE INDEX ... ON buzz_business_view (phone,`Business ID`) ;
CREATE INDEX ... ON daily_deals (phone) ;
当你说UPDATE语句“不起作用”时,语句是否会抛出错误,它是否只是挂起,或者语句是否成功完成,但结果并不像你期望的那样。