Optimierung...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Optimierung...

    Ich habe folg. Query:

    explain SELECT f.id,f.artist,f.title,a.name AS album,f.addedby,f.status
    FROM catfiles f LEFT JOIN catalbums a ON f.album=a.id
    WHERE f.type = '1'
    AND (f.artist LIKE '%blub%'
    OR f.title LIKE '%blub%'
    OR a.name LIKE '%blub%')
    ORDER BY f.type,f.artist,f.title,f.status

    Output:

    table type possible_keys key key_len ref rows Extra
    f ALL NULL NULL NULL NULL 605 where used; Using filesort
    a eq_ref PRIMARY,id PRIMARY 3 f.album 1 where used

    Bei 'a' ist es ja passend - aber warum benutzt er bei f keine Indices? Ich hab es schon mit einzelnen Indices (artist) und multi-column Indices (artist,title,album) versucht, aber irgendwie mag er keinen Index benutzen - beim Index 'type' (type,artist,title,album) zeigt er diesen immerhin unter possible_keys an... Doch er benutzt ihn nicht.

    CAT Music Files

  • #2
    Hmm gute Frage,
    ich hatte heute so ein ähnliches Problem. Ich glaube es liegt an LIKE '%blub%'... *nursoneidee*


    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Nein, hab es auch schon mit ='blub' probiert...

      CAT Music Files

      Kommentar

      Lädt...
      X