Buongiorno a tutti, ho un problema e vorrei un consiglio su come risolverlo.
Ho una cartella contenente altre cartelle che viene aggiornata ad ogni ora mediante uno script in esecuzione sul server che ho inserito in un cron.

Dovrei fare in modo che queste cartelle popolino una tabella del database cancellando i dati dell'aggiornamento precedente in quanto le cartelle potrebbero essere differenti.

Esempio pratico della struttura delle cartelle:
cartellaA/data1-valore1-nome1
cartellaB/data2-valore2-nome2
cartellaC/data3-valore3-nome3

Struttura della tabella in DB
folder data value name
cartellaA data1 valore1 nome1
cartellaB data2 valore2 nome2
cartellaC data3 valore3 nome3

Io ho pensato a questo script in PHP:
Codice PHP:
$arrCartelle listFiles('dati');

mysql_query("DROP IF EXISTS TABLE dati_") or die(mysql_error());
mysql_query("CREATE TABLE dati_ LIKE dati") or die(mysql_error());

foreach(
$arrCartelle as $cartella {
  
$arrDato listFiles($cartella);
  
$totD   count($arrDato);
  
$countD 1;
  foreach(
$arrDato as $dato) {
    
$arrValori explode('-',$dato);
    
$addDato "('".$cartella."','".$arrValori[0]."','".$arrValori[1]."','".$arrValori[2]."')";
    (
$countD==$totD)?$addDato .= ";":$addDato .= ",";
    
$countC++;
  }
  
mysql_query("INSERT INTO dati_ VALUES $addDato") or die(mysql_error());
}

mysql_query("TRUNCATE TABLE dati") or die(mysql_error());
mysql_query("INSERT INTO TABLE dati SELECT * FROM dati_") or die(mysql_error()); 
La tabella dati_ viene creata in quanto è possibile che uno o più visitatori stiano leggendo i dati della tabella "dati".
La mia domanda è questa: tenendo presente che ogni cartella principale contiene circa 40.000 sottocartelle che diventeranno quindi 40.000 record, c'è un modo migliore o più performante per fare questa cosa?