Ragazzi importo dei dati attraverso un file xml nel database, ma ormai la tabella è diventata così grande che è pesate, addirittura non posso fare dump della tabella che phpadmin mi da errore di tempo, come posso ottimizzarla? affinché si velocizzi? vi copio anche il file che interagisce con il db se è possibile modificarlo x ottimizzarlo

Codice PHP:

<?php

echo "\n
1: "
.date("l dS \of F Y h:i:s A").": INIZIO ELABORAZIONE";            

include(
"c.php");
$import $_GET['import'];
$file_zip "/path/$import.zip";

if(
file_exists($file_zip)) 
{
    
shell_exec("unzip $file_zip -d /path/xml");
    
$file_xml $import ".xml";

    
$xml simplexml_load_file($file_xml);    
    
    echo 
"lettura tabella per updater";
    foreach(
$xml->updater as $updater
    {
        
$id_amm $updater->id_amm;
        
$id_erase $updater->id_erase;
    }    

    
$erase $id_erase;
    
//echo $erase;
    //echo $id_amm;
    
    
$id_amm $id_amm;
    
    if(
$erase == $id_amm#si cancellano tutti i dati di questo amministratore e si reimportano dal file xml
    
{
        echo 
" - IMPORTAZIONE TOTALE DEI DATI DAL FILE ".$file_zip;            

        
$check_sql "DELETE FROM amministratore WHERE id_amm = '$id_amm'";
        
//echo "\n
query".$check_sql;
        
$check_query = @mysql_query($check_sql) or die(mysql_error());
                
        
$al_sql = "DELETE FROM anagrafico WHERE id_amm '$id_amm'";
        //echo "
\n
query
".$al_sql;
        
$al_query = @mysql_query($al_sql) or die(mysql_error());


    }
    else
    {
        echo " 
IMPORTAZIONE PARZIALE DEI DATI DAL FILE ".$file_zip;            
    }

    
    echo "
\n
3
".date("l dS \of F Y h:i:s A")."Elaborazione della tabella amministratore";
    foreach(
$xml->amministratore as $amministratore
    {
        
$id = $amm->id;
        
$id_amm = $amm->id_amm;
        
$denominazione = $amministratore->denominazione;
        
$indirizzo = $amministratore->indirizzo;
        
$cap = $amministratore->cap;
        
$iva = $amministratore->iva;
        
$citta = $amministratore->citta;
        
$telefono_1 = $amministratore->telefono_1;
        
$telefono_2 = $amministratore->telefono_2;
        
$fax = $amministratore->fax;
        
$email = $amministratore->email;
        
$web = $amministratore->web;
        
$username = $amministratore->username;
        
$password = md5($amministratore->password);
        
$banned = $amministratore->banned;
        
        if(
$erase <> $amministratore)
        {
            
$delete_sql = "DELETE FROM amministratore WHERE id_amministratore '$id_amministratore'";
            //echo "
\n
query
".$delete_sql;
            
$result = mysql_query($delete_sql);    
            if(!
$result) die("Errore MySQL".mysql_error()."\n
Query
:\n
".$delete_sql);
        }
        
$insert_sql = "INSERT INTO amm id_amministratoredenominazioneindirizzocapivacitta,  telefono_1telefono_2faxemailwebusernamepasswordbannedVALUES ('$id_amministratore''$denominazione''$indirizzo''$cap''$iva','$citta''$telefono_1''$telefono_2''$fax''$email''$web''$username''$password','$banned')";
        echo "
\n
query
".$insert_sql;
        
$result = mysql_query($insert_sql);    
        if(!
$result) die("Errore MySQL".mysql_error()."\n
Query
:\n
".$insert_sql);
    }

    echo "
\n
4
".date("l dS \of F Y h:i:s A")."Elaborazione della tabella anagrafico";
    foreach(
$xml->anagrafico_del_condominio as $anagrafico_del_condominio
    {
        
$id = $anagrafico->id;
        
$id_amm = $anagrafico->id_amm;
        
$id_condominio = $anagrafico->id_condominio;
        
$codicefiscale_archivio = $anagrafico->codicefiscale_archivio;
        
$condominio_denominazione = $anagrafico->condominio_denominazione;
        
        

        if(
$erase <> $amministratore)
        {
            
$delete_sql = "DELETE FROM anagrafico_del_condominio WHERE id_condominio '$id_condominio' AND id_amministratore '$id_amministratore'";
            //echo "
\n
query
".$delete_sql;
            
$result = mysql_query($delete_sql);    
            if(!
$result) die("Errore MySQL".mysql_error()."\n
Query
:\n
".$delete_sql);
        }
        
$insert_sql = "INSERT INTO  anagrafico(id_condominioid_amm,  codicefiscale_archiviocondominio_denominazione)VALUES '$id_condominio','$id_amministratore''$codicefiscale_archivio','$condominio_denominazione')";
        # echo "
\n
query
".$insert_sql;
        
$result = mysql_query($insert_sql);    
        if(!
$result) die("Errore MySQL".mysql_error()."\n
Query
:\n
".$insert_sql);
    }    
        echo "
\n
14
".date("l dS \of F Y h:i:s A")."FINE ELABORAZIONE";            

    shell_exec("
rm /path/$import.zip");
    shell_exec("
rm $file_xml");

else 
{
    die("
Il file [i]$file_zip[/inon esiste!");
}

?>