whine: XML in mySQL einlesen - Performanceproblem

Beitrag lesen

Hallo zusammen,

vor einigen Monaten ist mir hier schon mal prima geholfen worden. Nun kam das Problem nochmal auf den Tisch.

ich lese mit simplexml_load eine XML-Datei ein.

  
if(file_exists($filename)) {  
        $xml = simplexml_load_file($filename);  
  
        if($xml) {  ... 

... und schreibe den Inhalt von etwa 100.000(!) Tags in MySQL

for ($i=1; $i < $size=count($xml); $i++) {  
		  
 $sql_eintrag = "INSERT INTO messwerte_tbl (id,  
	        ".$xml->{"ChannelInfo1"}->Name.",  
		".$xml->{"ChannelInfo2"}->Name.",  
		".$xml->{"ChannelInfo3"}->Name.",  
		".$xml->{"ChannelInfo4"}->Name.",  
		".$xml->{"ChannelInfo5"}->Name.",  
		".$xml->{"ChannelInfo6"}->Name.",  
		".$xml->{"ChannelInfo7"}->Name.",  
		".$xml->{"ChannelInfo8"}->Name.",  
		".$xml->{"ChannelInfo9"}->Name.",  
		".$xml->{"ChannelInfo10"}->Name.",  
		".$xml->{"ChannelInfo11"}->Name.",  
		".$xml->{"ChannelInfo12"}->Name.",  
		".$xml->{"ChannelInfo13"}->Name."  
		  
		) VALUES  
  
		('".$id."',  
		 '".$xml->{"M$i"}->{"Ch1"}."',  
		 '".$xml->{"M$i"}->{"Ch2"}."',  
		 '".$xml->{"M$i"}->{"Ch3"}."',  
		 '".$xml->{"M$i"}->{"Ch4"}."',  
		 '".$xml->{"M$i"}->{"Ch5"}."',  
		 '".$xml->{"M$i"}->{"Ch6"}."',  
		 '".$xml->{"M$i"}->{"Ch7"}."',  
		 '".$xml->{"M$i"}->{"Ch8"}."',  
		 '".$xml->{"M$i"}->{"Ch9"}."',  
		 '".$xml->{"M$i"}->{"Ch10"}."',  
		 '".$xml->{"M$i"}->{"Ch11"}."',  
		 '".$xml->{"M$i"}->{"Ch12"}."',  
		 '".$xml->{"M$i"}->{"Ch13"}."')";  
		$eintrag = mysql_query ($sql_eintrag) or die("Fehler: ".mysql_error());

Soweit sogut. Das dauert natürlich ewig. Zum einen der Dateiupload (wobei das noch vertretbar ist), aber am meisten Sorgen macht mir das schreiben in die DB. Musste schon die Maximum execution time in der php.ini hochsetzen.

Kann ich das irgendwie beschleunigen? Und wenn ja, wie? ;o)

whine