Optimer forespørgsel
Hej eksperter,Jeg har et problem med at min forespørgsel tager for lang tid. I min tabel "kata" har jeg ca. 126856 rækker. Mit script ser således ud:
if ($_POST['soeg']) {
$GET_search = mysql_query("SELECT name,ean_numb,el_numb,price FROM kata WHERE MATCH (name,el_numb,ean_numb) AGAINST ('".mysql_real_escape_string($_POST['value'])."' IN BOOLEAN MODE)") OR DIE( mysql_error() );
$GET_discount = mysql_query("SELECT rabat.grp_proc,rabat.grp_name FROM rabat,kata WHERE kata.grp_produkt=rabat.grp_numb") OR DIE( mysql_error() );
echo "<table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\">";
echo "<tr><td align=\"center\" colspan=\"5\" align=\"center\">Søgning på : <b>".$_POST['value']."</b></td></tr>";
echo "<tr> <td>Navn</td> <td>EAN-Nummer</td> <td>EL-Nummer</td> <td>Pris</td> <td>Gruppe</td> </tr>";
if (mysql_num_rows($GET_search) == NULL) {
echo "<tr><td align=\"center\" colspan=\"5\">Intet resultat!</tr></td>";
echo "<tr><td align=\"center\" colspan=\"5\">".$string."</tr></td>";
} else {
while($show = mysql_fetch_array($GET_search) AND $discount = mysql_fetch_array($GET_discount)) {
echo "<tr>\n";
echo "<td>".$show['name']."</td>";
echo "<td>".$show['ean_numb']."</td>";
echo "<td>".$show['el_numb']."</td>";
echo "<td>".price($show['price'])." DKK excl. moms.</td>";
echo "<td>".$discount['grp_name']." (".(($discount['grp_proc'] != NULL) ? substr($discount['grp_proc'], 0,2).".".substr($discount['grp_proc'], 2,2) : "0.0")."%)</td>";
echo "\n</tr>\n";
}
echo "</table>";
}
}
