Performance issue when querying a large xml file through php/ajax on Apache Server
Posted
by Niall
on Stack Overflow
See other posts from Stack Overflow
or by Niall
Published on 2010-04-28T19:26:08Z
Indexed on
2010/04/28
19:37 UTC
Read the original article
Hit count: 330
Hey,
I have a simple "live search" (results displayed while typing) web site. This make up is Ajax to PHP querying a pretty large XML document (10,000+ lines). This is all been hosted on a local Apache server (xamp). The scale of the xml document seems to be causing huge performance issue with results taking 10ish seconds to give the results.
I'm very new to PHP (this actually being my first play about) so there below is a snippet of code in case there is something obvious
for($i=0; $i<($foodListXML->length); $i++){
$type=$foodListXML->item($i)->getElementsByTagName('type');
$foodnote=$foodListXML->item($i)->getElementsByTagName('foodnote');
$style=$foodListXML->item($i)->getElementsByTagName('style');
if ($type->item(0)->nodeType==1)
{
//find a link matching the search text
if (stristr($type->item(0)->childNodes->item(0)->nodeValue,$q)){
$currentFoodName = $type->item(0)->childNodes->item(0)->nodeValue;
$currentFoodStyle = $style->item(0)->childNodes->item(0)->nodeValue;
$currentFoodNote = $foodnote->item(0)->childNodes->item(0)->nodeValue;
if ($hint==""){
$hint= $currentFoodName . " , " . $currentFoodNote . " , <b>" . $currentFoodStyle. "</b>" . "<br>" ;
}
else{
$hint=$hint . $currentFoodName . " , " . $currentFoodNote . " , <b>" . $currentFoodStyle. "</b>" . "<br>" ;
}
}
}
}
}
Also if having the data in a DB and accessing that is faster, then I'm open to that.. All ideas really!!
Thanks.
© Stack Overflow or respective owner