您好我刚开始使用mysql而且我已下载并导入 - 使用MySQL工作台 - 一个包含两个表的数据库,一个(对象)是460 000行和40列大,另一个(资金)是45 000行和15列大。 每次启动与大表交互的查询时,我都会收到1205超时错误。
例如:
UPDATE new_schema.cb_funding_rounds
SET category_code =
(SELECT category_code
FROM new_schema.cb_objects
WHERE new_schema.cb_objects.id = new_schema.cb_funding_rounds.object_id)
WHERE EXISTS
(SELECT category_code FROM new_schema.cb_objects
WHERE new_schema.cb_objects.id = new_schema.cb_funding_rounds.object_id)
(尝试使用第一个表中各个元素的值填充第二个表中的category_code列,我甚至不知道代码是否正确。)
或
> delete from new_schema.cb_objects where category_code IS NULL;
我试图使用我发现的一些建议来延迟时间:
SET innodb_lock_wait_timeout = 1000;
SET global max_allowed_packet=104857600;
但我每次都会得到1205错误。我杀了所有的睡眠过程。 我猜这是因为数据库太大了,任何查询都需要太长时间,但我甚至无法在没有超时的情况下删除数据。
如何解决此问题?什么是正确的查询来完成更新,我只需要这个就可以使用数据库。欢迎任何建议!