Announcement

Collapse
No announcement yet.

Optimierung MySQL Datenbank-Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Optimierung MySQL Datenbank-Abfrage

    Hallo zusammen,

    Mein Provider hat mir geschrieben, ich solle meine MySQL Datenbank-Abfragen optimieren, da diese aktuell deren Server überlasten.
    Bin leider nicht so fit darin, deswegen würd mich freuen, wenn jemand helfen könnte.

    Hier die Abfrage:

    SELECT feld1 , feld2 , feld3, feld4 FROM tabelle1
    where (feld3 <> '') AND
    (feld1 like '% suchstring %' OR
    feld2 like '% suchstring %' OR
    feld3 like '% suchstring %' OR
    feld4 like '% suchstring %')
    order by feld4 ASC limit 0, 200;

    Die Idee bei der Abfrage ist, dass das feld 3 nicht leer sein darf und zusätzlich der Suchstring als eigenes Wort (deswegen die Leerzeichen vor und nach dem Suchstring) in einem der 4 Tabellenfelder sein soll.

    tabelle 1 verfügt über einen Primärschlüssel. Auf Feld1 wurde ein Index gelegt, da es hier doppelte Einträge gibt. Die anderen Felder haben kein Index, weil nur unterschiedliche Einträge (und dann macht ein Index doch keinen Sinn, oder?)

    Besten Gruss
    infosys

  • #2
    Hallo,
    Originally posted by infosys View Post
    ...Auf Feld1 wurde ein Index gelegt, da es hier doppelte Einträge gibt. Die anderen Felder haben kein Index, weil nur unterschiedliche Einträge (und dann macht ein Index doch keinen Sinn, oder?)
    Gerade ein UNIQUE-Index macht so richtig Sinn um ganz gezielt auf bestimmte DS zugreifen zu können. Aber davon abgesehen spielen Indizes bei deiner Abfrage eh keine Rolle, da erstens eine OR-Verknüpfung und zweitens Abfragen der Form LIKE '%suchstring%'. Wenn du hier optimieren willst, dann solltest du dich mit den Möglichkeiten der Volltextsuche beschäftigen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk,

      danke für den Hinweis, Volltextsuche ist in der Tat das, was hier am meisten Sinn macht. Leider etwas aufwändiger, werd mir das in Ruhe anschauen und dann ggf implementieren.

      Besten Gruss
      infosys

      Comment

      Working...
      X