Код ошибки MySQL: 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";

Когда я запускаю это, это занимает более 50 секунд, и я получаю ошибку 1205. Если я запускаю оператор выбора подобной структуры:

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";

Это занимает гораздо меньше секунды, и я знаю, что соединение работает нормально. Обновление действительно так долго? Если да, есть ли способ изменить значение тайм-аута, чтобы оно могло пройти через него?

2 ответа

Решение

Эта ошибка полностью MySQL не делает, как следует. Лучшее решение - отказаться от MySQL, но, не имея этой возможности, этот пост в блоге по производительности помог мне обойти это в прошлом.

MySQL имеет много этих маленьких ошибок. Это похоже на работу в Access, половину времени программа собирается делать не то, что нужно, и не выдавать ошибку.

Попробуйте проверить, запущен ли на вашем сервере MySQL какой-либо процесс.

Чтобы убедиться в этом, запустите команду MySQL Client:

      SHOW FULL PROCESSLIST;

Просмотрите столбцы идентификатора , состояния и информации и проанализируйте проблему. После того, как вы обнаружите проблему, завершите процесс с помощью:

      KILL <PROCESS ID>;
Другие вопросы по тегам