PHP Максимальное количество вставок в одном SQL-запросе

У меня довольно простой вопрос. Я вставляю много записей сразу в таблицу MySQL. Он работает примерно для 2000 записей (на самом деле немного больше). Но скажу, что я хочу вставить 3000 записей, чем ничего не делает.

Я работаю через AS3, отправляя массив, содержащий все записи через AMFPHP, в простой PHP-скрипт для анализа и вставки массива.

Это нормально, или я должен смотреть в него?

В настоящее время я разбиваю свой массив на части 2000 записей и отправляю несколько запросов AMFPHP вместо 1.

Solutions Collecting From Web of "PHP Максимальное количество вставок в одном SQL-запросе"

Запросы PHP ограничены параметром конфигурации «max_allowed_packet». Он определяет ограничение абсолютной длины в символах, которое может быть в строке запроса. Обратите внимание, что это не просто общий размер вставляемых данных, а вся строка запроса. Команды SQL, знаки препинания, пробелы и т. Д. …

Проверьте, как долго ваша 3000-ти рекордная версия равна 2000, а затем получите ограничение длины пакета вашего сервера:

SHOW VARIABLES WHERE Variable_name LIKE '%max_allowed_packet%' 

Если ваша версия с 3000 экземплярами длиннее этого предела, запрос будет defnitely терпеть неудачу, потому что он будет отрублен где-то частично

Я не думаю, что действительно существует предел количества вставок в одном запросе.

Вместо этого существует ограничение по размеру запроса, который вы можете отправить в MySQL
Видеть :

  • max_allowed_packet
  • Слишком большой пакет

Таким образом, в основном это зависит от количества данных, которые у вас есть в каждой insert .

Я бы гарантировал, что max_allowed_packet больше, чем ваш запрос PHP SQL.

http://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html

Я думаю, что PHP не ограничивает количество вставленного запроса на одном, а не ограничивает объем использования памяти, который может быть использован скриптом , и максимальное время выполнения .