[SQL allgemein] MySQL fulltext Suche dauert sehr lang

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

  • [SQL allgemein] MySQL fulltext Suche dauert sehr lang

    Kann man die Suche mit fulltext irgendwie beschleunigen?
    Ich hab eine Tabelle, die 380MB gross ist und die Suche läuft über 6 Spalten(vom Typ text und varchar) dieser Tabelle.
    Bei manchen Suchbegriffen dauert die Suche mehr als 20 Sekunden.

  • #2
    Schon http://dev.mysql.com/doc/mysql/en/fulltext-search.html und http://dev.mysql.com/doc/mysql/en/fu...ne-tuning.html gelesen?

    Wie suchst du denn bisher? Zeige doch mal die Query.

    Kommentar


    • #3
      Die Seiten von mysql.com hab ich mir schon durchgelesen.

      Code:
      SELECT nr, datum , ort, ueberschrift, typ, 
      MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)
      AGAINST ('suchstring') AS rang
      FROM daten
      WHERE MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)	AGAINST ('suchstring')
      Kann es sein, dass es bei 380MB einfach normal ist, dass es lange dauert ?

      Kommentar


      • #4
        Nö, wenn auf den zu durchsuchenden Spalten bereits ein FULLTEXT INDEX besteht, gehts wohl nicht schneller.

        Kommentar


        • #5
          Führe mal das in PhpMyAdmin aus, und poste uns, was dabei heraus kommt:

          Code:
          EXPLAIN SELECT nr, datum , ort, ueberschrift, typ, 
          MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)
          AGAINST ('suchstring') AS rang
          FROM daten
          WHERE MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)	
          AGAINST ('suchstring')

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            Original geschrieben von onemorenerd
            Nö, wenn auf den zu durchsuchenden Spalten bereits ein FULLTEXT INDEX besteht, gehts wohl nicht schneller.
            Nunja ... und wenn kein FULLTEXT besteht ... dann funzt die Query nicht ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Original geschrieben von xManUx
              Führe mal das in PhpMyAdmin aus, und poste uns, was dabei heraus kommt:

              Code:
              EXPLAIN SELECT nr, datum , ort, ueberschrift, typ, 
              MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)
              AGAINST ('suchstring') AS rang
              FROM daten
              WHERE MATCH (ueberschrift, beschreibung1, beschreibung2, ort, land, volltext)	
              AGAINST ('suchstring')
              id, select_type, table, type, possible_keys, key, key_len, ref, rows, Extra
              1, SIMPLE, daten, fulltext, suche, suche, 0, , 1, Using where

              Kommentar

              Lädt...
              X