Middle+
24
0
questionbank

Что делать, если база данных в файле SQL на миллион 155 тысяч строк не удается вставить с помощью инструментов?

Ответ от нейросети sobes.tech

Если стандартные инструменты (phpMyAdmin, Adminer, терминальные утилиты типа mysql) не справляются с импортом SQL-файла такого объема, есть несколько основных стратегий:

  1. Использование терминальных утилит:

    • Наиболее надежный способ для больших файлов.
    • Прямой вызов команды импорта, минуя веб-сервер и ограничения PHP.
    bash
  2. Разбивка файла на части:

    • Слишком большой файл может превышать лимиты памяти или времени исполнения.
    • Разбить файл можно вручную, с помощью скриптов или специализированных инструментов.
    • Каждую часть импортировать по очереди.
  3. Настройка веб-сервера и PHP:

    • Увеличить следующие параметры в php.ini (для phpMyAdmin/Adminer):
      • upload_max_filesize
      • post_max_size
      • memory_limit
      • max_execution_time
      • max_input_time
    • Увеличить client_max_body_size в конфигурации Nginx или LimitRequestBody в Apache.
  4. Оптимизация SQL-файла:

    • Удалить ненужные комментарии или пустые строки.
    • Изменить формат INSERT запросов с множественных строк на один INSERT с несколькими наборами знач

Если стандартные инструменты (phpMyAdmin, Adminer, терминальные утилиты типа mysql) не справляются с импортом SQL-файла такого объема, есть несколько основных стратегий:

  1. Использование терминальных утилит:

    • Наиболее надежный способ для больших файлов.
    • Прямой вызов команды импорта, минуя веб-сервер и ограничения PHP.
    bash
  2. Разбивка файла на части:

    • Слишком большой файл может превышать лимиты памяти или времени исполнения.
    • Разбить файл можно вручную, с помощью скриптов или специализированных инструментов.
    • Каждую часть импортировать по очереди.
  3. Настройка веб-сервера и PHP:

    • Увеличить следующие параметры в php.ini (для phpMyAdmin/Adminer):
      • upload_max_filesize
      • post_max_size
      • memory_limit
      • max_execution_time
      • max_input_time
    • Увеличить client_max_body_size в конфигурации Nginx или LimitRequestBody в Apache.
  4. Оптимизация SQL-файла:

    • Удалить ненужные комментарии или пустые строки.
    • Изменить формат INSERT запросов с множественных строк на один INSERT с несколькими наборами знач

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

sqlbulk-insertperformance-tuningdata-migrationlarge-datasetsdatabase-administration