Rolf: langsamer inner join

Gumo!

Eine Select-Abfrage an meine MYSQL-DB nimmt bis zu 8 Sekunden in Anspruch.
Daher würde ich gerne wissen, ob es für folgenden Syntax Optimierungsmöglichkeiten gibt oder eine Alternative zum Inner Join für diesen Fall möglich ist, die die Anfrage schneller erledigt:

$sqlstring =
"SELECT * FROM (SELECT Bestellnr AS Suchnummer, id_nummer, eintragsdatum, zustand, zuschlag, mitglied FROM listen WHERE liste='typ1' AND geloescht !='1'  AND Titel LIKE '%$suchtreffer%' ".$filter.") AS t1 INNER JOIN (SELECT Bestellnr AS Bestellnr, id, Label, pfad, Titel, Untertitel, medium FROM alle2) AS t2 ON Suchnummer=Bestellnr ORDER BY $sortierer LIMIT $aktuell, $proseite";

$liste = mysql_query($sqlstring, $verbindung) or die(mysql_error());
$reihe_liste = mysql_fetch_assoc($liste);

Danke im voraus!

  1. Moin!

    $sqlstring =
    "SELECT * FROM (SELECT Bestellnr AS Suchnummer, id_nummer, eintragsdatum, zustand, zuschlag, mitglied FROM listen WHERE liste='typ1' AND geloescht !='1'  AND Titel LIKE '%$suchtreffer%' ".$filter.") AS t1 INNER JOIN (SELECT Bestellnr AS Bestellnr, id, Label, pfad, Titel, Untertitel, medium FROM alle2) AS t2 ON Suchnummer=Bestellnr ORDER BY $sortierer LIMIT $aktuell, $proseite";

    Davor setzt du mal ein EXPLAIN und studierst die Ausgabe hinsichtlich genutzter und benutzbarer Indexe.

    - Sven Rautenberg

    1. Lieber Sven Rautenberg,

      Indexe.

      aha. Sehr schöne Umgangssprache. Sieht man selten. ;-)

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)