#mysql #sql-server #database-migration #database-performance #database-administration
#mysql #sql-server #база данных-миграция #база данных-производительность #администрирование базы данных
Вопрос:
У меня есть вложение таблицы, содержащее два столбца. идентификатор вложения —> введите INT attachdata —-> введите longblob .
значение столбца attachdata содержит размер 562 МБ.
Я переношу данные из oracle в MySQL с помощью инструмента переноса данных ESF. для вставки данных в MySQL требуется много часов времени, если объем данных превышает 500 МБ. Я также не получаю никаких ошибок. Я могу вставить данные размером до 400 МБ. должен ли я изменить какую-либо конфигурацию в моем .ini-файле для вставки данных большого размера? как вставить данные большого размера?
Комментарии:
1. Что такое
SELECT @@max_allowed_packet;
? Я также не получаю никаких ошибок. Вы смотрели в журнале ошибок MySQL? сторонний инструмент может скрыть некоторые ошибки, решив, что он восстанавливается путем автоматического повторного подключения…2. @Akina в моем файле.ini значение max_allowed_packet= 800M. после выполнения приведенного выше запроса выводится 838860800
3. я не получил никакой ошибки в файле журнала ошибок
4. Как вы выполняете ВСТАВКУ? ЗАГРУЗИТЬ ДАННЫЕ? ВСТАВИТЬ? из mysqldump? от клиента? другое? Что это за большой двоичный объект? изображение? на самом деле текст? другое?
5. @ricj James Я вставляю данные с помощью стороннего инструмента под названием ESF. Он извлекает данные из oracle и вставляет в mysql. Этот большой двоичный объект представляет собой pdf
Ответ №1:
Установите max_allowed_packet на максимальное значение: 1073741824
Тогда надейтесь, что ESF не преобразует большой двоичный объект в шестнадцатеричный, что требует 2 * 562 МБ.