Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Suche optimieren

Einklappen

Neue Werbung 2019

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

  • MySQL Suche optimieren

    Hi. Ich habe eine Datenbank, die ca. 300.000 ROWS hat. Um in einem Script die Suche zu opimieren, habe ich zuvor im phpmyadmin folgendes getestet:
    Die Abfragezeit von z.B "SELECT * from db WHERE Nachname='Meier' LIMIT 1" hängt von der Position (increment id) in der Tabelle ab. Ist der Nachname 'Meier' unter den ersten 30 Rows, dann dauert die Abfrage weit unter einer Sekunde. Befindet sich jedoch Nachname 'Meier' in ID 299.888, dann dauert die Abfrage gute 2-3 Sekunden.
    Meine Frage: Ich kann in einigen Scripten einschätzen, wo sich das Ergebnis ca. befindet. Daher: Kann ich eine Abfrage so gestalten, sodass mysql umgekehrt sucht? Sprich in dem oben genannten Fall von 300.000 abwärts sucht?


  • #2
    Vermutlich möchtest du einfach nur geeignete Indexe setzen.

    Kommentar


    • #3
      Zitat von halskrause Beitrag anzeigen
      Hi. Ich habe eine Datenbank, die ca. 300.000 ROWS hat. Um in einem Script die Suche zu opimieren, habe ich zuvor im phpmyadmin folgendes getestet
      [EDIT]
      Du hast vermutlich eine Datenbank, die eine Tabelle (derzeit mit dem Namen "db". Besser wäre vielleicht "Adressen" ) mit ca. 300.000 Datensätzen enthält.

      Existiert bereits ein Index auf die Spalte "Nachname" ? Wenn nein, dann lege einfach einen Index auf die Spalte "Nachname" an und teste dann nochmal die Geschwindigkeit. Wenn es nichts bringt, kannst Du den Index einfach wieder entfernen.

      Grüße
      Thomas

      Kommentar

      Lädt...
      X