eh_*_*ver 7 mysql sql mysql-workbench mysql-error-1205
我正在尝试更新Time_Stamp表格中的字段simple_pack_data,以匹配表格中类似标题字段中的值temp_data.每个表有三个字段Test_Number和Time_Marker,我使用到INNER JOIN表.Time_Marker就像一个读数,Time_Stamp从测试开始的实际时间.
我想一次更新Time_Stamp一个测试,所以我一直在尝试的代码是:
UPDATE simple_pack_data s
INNER JOIN (
SELECT *
FROM temp_data t
WHERE t.Test = "3"
) AS tmp
ON s.Test_Number = tmp.Test_Number AND s.Time_Marker = tmp.Time_Marker
SET s.Time_Stamp = tmp.Time_Stamp
WHERE s.Test_Number = "3";
Run Code Online (Sandbox Code Playgroud)
当我运行它需要超过50秒,我得到1205错误.如果我运行类似结构的select语句:
SELECT *
FROM simple_pack_data s
INNER JOIN (
SELECT *
FROM temp_data t
WHERE t.Test = "3"
) AS tmp
ON s.Test_Number = tmp.Test AND s.Time_Marker = tmp.Time_Marker
WHERE s.Test_Number = "3";
Run Code Online (Sandbox Code Playgroud)
它需要不到一秒钟,我知道加入工作正常.更新确实需要这么长时间吗?如果是这样,有没有办法改变超时值,以便它可以通过它?
尝试查看您的 MySQL 服务器是否有正在运行的进程。
要查看这一点,请在 MySQL 客户端上运行命令:
SHOW FULL PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)
查看id、state和info列并分析问题。发现问题后,使用以下命令终止进程:
KILL <PROCESS ID>;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34466 次 |
| 最近记录: |