What are the best practices for efficiently inserting large amounts of data from XML files into a MySQL database using PHP?

When inserting large amounts of data from XML files into a MySQL database using PHP, it is important to efficiently parse the XML file and insert the data in batches to avoid memory issues and improve performance. One way to achieve this is by using PHP's SimpleXML extension to parse the XML file and then insert the data into the database in batches using prepared statements.

<?php
// Load the XML file
$xml = simplexml_load_file('data.xml');

// Connect to the MySQL database
$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');

// Prepare the SQL statement for inserting data
$stmt = $pdo->prepare("INSERT INTO table_name (column1, column2) VALUES (:value1, :value2)");

// Loop through the XML data and insert it into the database in batches
foreach ($xml->record as $record) {
    $stmt->bindParam(':value1', $record->value1);
    $stmt->bindParam(':value2', $record->value2);
    $stmt->execute();
}

// Close the database connection
$pdo = null;
?>