У меня есть таблица с ~ 150M строк и 3 столбцами.В данный момент тестирую DataGrip.Я хочу разделить строку в первом столбце на два новых столбца, например:
Test/out
следует разделить на Test
и Out
В настоящее время я используюследующие запросы:
ALTER TABLE dataset ADD COLUMN id TEXT;
UPDATE dataset SET id = SUBSTR(id_type, 1, INSTR(id_type, '/') - 1);
ALTER TABLE dataset ADD COLUMN type TEXT;
UPDATE dataaset SET type = SUBSTR(id_type, INSTR(id_type, '/') + 1, LENGTH(id_type));
При использовании лимита скрипт работает.Однако, когда я пытаюсь обработать весь набор, через несколько минут я получаю следующую ошибку:
[08S01] Communications link failure
The last packet successfully received from the server was 551,753 milliseconds ago. The last packet sent successfully to the server was 551,753 milliseconds ago.
java.net.SocketException: Connection reset
Служба Windows (MySQL80) останавливается, и мне нужно перезапустить ее вручную.
Уже пытались:
- Обновить J / Connector до последней версии
- Изменить некоторые тайм-ауты (connect_timeout, wait_timeout, interactive_timeout)
- Cheking my.confи изменение адреса связывания
Когда я попытался запустить этот сценарий на копии базы данных SQLite, процесс пошел нормально.Пытался подписаться на множество похожих тем, но ни одна из них не сработала.