В MySQL в принципе невозможно в одном запросе вставить записи в две разные таблицы.
В JDBC ни один из методов update не допускает пакетного SQL-кода в качестве аргумента - часть потому, что выполняет строго одну вставку (в документации так и написано - single SQL update operation), остальные потому, что используют PREPARE, который не поддерживает multiquery. Возможно, это получится через какой-то из execute, не использующий PREPARE.
в том что распределение по складам id должно идти от 0 до 3
Сфига бы? Требовалась именно равномерность. И именно показанный алгоритм её обеспечивает. Никакого "сперва в склады с меньшими номерами" даже близко не было.
Если это условие где-то подразумевалось, но не было озвучено - то чей это косяк?
followfirst, Понимаешь, 17.6 мегабайта в секунду соответствует скорости полезной передачи в 141 мегабит. А с учётом накладных расходов, даже если считать, что используется абсолютный бурст, это надо минимум 250 мегабод в несущей. Что звучит очевидно бредовато.
Кстати, а эта скорость, 17.6 - она согласуется с фактической передачей? реально передаётся гигабайтный файл за одну минуту?
На обоих скриншотах я вижу одну и ту же скорость несущей - 72.2 мегабита. Почему различается интегральная скорость? Вариантов два. Либо одна из карт более эффективна в борьбе за полосу, либо проблема не в канале, а в операционке.
У MSI скорость 1.5 мб/c
У DELL 17.6 мб/c
В том числе когда работает только один, а второй вообще выключен?
RushV, да добавили SESSION_VARIABLES_ADMIN, скорее всего. Кстати, то, что такой привилегии не было изначально - крайне странно. И в принципе хороший повод для неприятного вопроса админам сервера.
Alexey Dmitriev, последний раз пробовал эту процедуру (изменение datadir) лет 7-8 назад, ещё на 5-й версии... и помню, что недельный геморрой так и не окончился ничем хорошим. Плюнул и обошёлся перемещением таблеспейсов трёх самых критичных таблиц.
Может на восьмёрке оно получше получается... надо будет как-нибудь запробовать.
Alexey Dmitriev, основная проблема - в местоположении системных/служебных БД и их перемещении в новое место, а также согласовании директорий в других переменных с введённым изменением. А ещё надо убедиться, что ничего не захардкодили...
Кроме того, изменение местоположения через указанные настройки перемещает вообще весь каталог данных. А вот отдельную БД или отдельную таблицу можно переместить только через таблеспейс.
главное, чтобы этот путь можно было указать в my.cnf
А это зачем? уж не basedir/datadir/innodb_data_home_dir ли Вы хотите ему предложить переместить? ой, не надо, потом проблем не оберёшься, такие изменения вот ни разу не тривиальная операция...
Вообще сервер прав - переменной log-error-verbosity не существует. Существует переменная с похожим именем, но знаками подчёркивания вместо тире. А указанная установка с тире вместо подчёркиваний используется в опциях командной строки и файлах конфигурации.
Пожалуйста, запустите штатный CLI. Напрямую, минуя фастпанели и прочую хрень, прямо из каталога, где он находится, чтобы избежать запуска одноимённого скрипта. После чего выполните и покажите результаты выполнения там запросов:
Просмотрите ВСЕ директории, перечисляемые по ссылке https://dev.mysql.com/doc/refman/8.0/en/option-fil... на предмет наличия конфигурационных файлов, а те - на предмет наличия записи об установке указанной переменной.
Проверьте командную строку запуска демона и командную строку запуска клиента на предмет наличия указанной переменной в опциях командной строки. Проверьте конфигурационные файлы клиента - особенно если используется кастомный/дополнительный файл в опциях командной строки.
Проверьте содержимое скрипта, выполняющего команды из консоли, как показано в цитированном выводе, опять же на предмет наличия там опции комстроки с установкой указанной переменной. Также проверьте зарегистрированные алиасы команд.
И самый край, если нигде ничего не найдётся - запустите поиск по всему диску текстовых файлов, содержащих внутри подстроку с указанным именем. Ищите скрипт или файл конфигурации в необследованном месте. Долго, конечно, и будет много лишнего, но зато надёжно.
Ну вообще-то multiline. Что и есть пакетное выполнение. И именно метод, подобный batchUpdate, я и имел в виду.
https://habr.com/ru/articles/703828/