Как я могу выполнить SQL-запросы, которые занимают более 99,999 секунд в MySQL Workbench?

ОБНОВЛЕНИЕ: проблема теперь исправлена ​​.


Я хотел бы выполнить запрос, который занимает более 99 999 секунд для выполнения (например, SELECT SLEEP(150000);). Чтобы изменить тайм-аут в MySQL Workbench, мы должны перейти в Edit → Preferences → SQL Editor → время ожидания подключения к СУБД (в секундах). Однако поле DBMS connection read time out принимает только до 5 цифр, а установка поля в 0 эквивалентна параметру по умолчанию (600 секунд). Если запрос занимает больше времени, чем таймаут, я получаю сообщение об ошибке: Error Code: 2013. Lost connection to MySQL server during query

Отсюда мой вопрос: можно ли увеличить этот предел до 99,999 секунд? Я использую 64-разрядную версию Windows 7 с MySQL Workbench 5.2.47 CE.

Поле DBMS connection read time out: enter image description here

Время ожидания (0 эквивалентно параметру по умолчанию (600 секунд)): enter image description here

Ответ 1

Вероятно, никто никогда не думал, что вам понадобится такой высокий тайм-аут, поэтому вы ограничены тем, что устанавливается в настоящее время. Но откройте запрос функции http://bugs.mysql.com, чтобы предложить либо иметь 0 полностью отключить таймаут, либо разрешить большие значения.

Ответ 2

Хорошо, в Европе мы рассматриваем запятую десятичный разделитель. Вы действительно имели в виду 100 тыс. Секунд? Я вижу в ваших комментариях, что вы обрабатываете 50 ГБ. Тем не менее, если вам нужно больше часа, вы пропустили Indeces. Вы должны знать, что они не будут правильно перестроены в одном запросе, поэтому, если вы присоединитесь к массивной вставке, вы получите декартовое произведение строк, сканированных - другими словами, ваш запрос может случиться в течение недель или даже месяцев.

Решение:

1) Заполните основные данные, не используйте здесь соединения. 2) Изменить таблицу для установки индекса. 3) Запустите "ANALYZE" 4) Сделайте все остальное.

Если вы чувствуете, что у вас возникли проблемы после этой процедуры, добавьте свой запрос с ключевым словом EXPLAIN и опубликуйте результаты.

(У меня есть cronjob, импортирующий около 80 ГБ каждые 30 минут на месте - MySQL наверняка справится с этим.)

Ответ 3

Эта проблема теперь решена в MySQL Workbench 6.0.3 (2013-07-09): см. отчет об ошибке и изменить журнал.