Inserción por lotes de datos en la base de datos MySQL usando php

Tengo miles de datos analizados desde un enorme XML para insertarlos en la tabla de base de datos utilizando PHP y MySQL. Mi problema es que lleva demasiado tiempo insertar todos los datos en la tabla. ¿Hay alguna manera de que mis datos se dividan en un grupo más pequeño para que el proceso de inserción sea por grupo? ¿Cómo puedo configurar un script que procesará los datos por 100, por ejemplo? Aquí está mi código:

<code>foreach($itemList as $key => $item){
     $download_records  = new DownloadRecords();
    //check first if the content exists
    if(!$download_records->selectRecordsFromCondition("WHERE Guid=".$guid."")){
         /* do an insert here */
    } else {
         /*do an update */
    }
</code>

}

* nota: $ itemList es alrededor de 62,000 y sigue creciendo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta