MySQL / PHP Sucheffizienz

8

Ich versuche, eine kleine Suche nach meiner Website zu erstellen. Ich habe versucht, die Volltextindex-Suche zu verwenden, aber ich konnte es nie zum Laufen bringen. Hier ist, was ich mir ausgedacht habe:

%Vor%

Im Grunde durchsucht es alle Titel, Body-Text und Tags aller Einträge in der Datenbank. Das funktioniert anständig, aber ich frage mich, wie effizient es wäre? Dies wäre nur für einen kleinen Blog auch. Wie auch immer, ich frage mich nur, ob das effizienter gemacht werden könnte.

    
williamg 01.06.2010, 23:21
quelle

3 Antworten

22
___ qstnhdr ___ MySQL / PHP Sucheffizienz ___ answer2954028 ___

MySQL Die Volltextsuche funktioniert - ich würde es untersuchen und debuggen, anstatt dies zu versuchen. Das Ausführen von 3 separaten MySQL-Abfragen wird nicht annähernd so effizient sein.

Wenn Sie versuchen möchten, das so effizient zu gestalten, können Sie die LIKE '%pattern%' -Anweisungen in einer Abfrage mit MATCH zwischen ihnen trennen.

    
___ qstntxt ___

Ich versuche, eine kleine Suche nach meiner Website zu erstellen. Ich habe versucht, die Volltextindex-Suche zu verwenden, aber ich konnte es nie zum Laufen bringen. Hier ist, was ich mir ausgedacht habe:

%Vor%

Im Grunde durchsucht es alle Titel, Body-Text und Tags aller Einträge in der Datenbank. Das funktioniert anständig, aber ich frage mich, wie effizient es wäre? Dies wäre nur für einen kleinen Blog auch. Wie auch immer, ich frage mich nur, ob das effizienter gemacht werden könnte.

    
___ tag123search ___ Fragen zur Suchalgorithmusmechanik und Implementierung. * NOT * für Fragen zur Verwendung von Suchtools innerhalb einer API (z. B. Google, Bing, Facebook). ___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ tag123performance ___ Für Fragen zur Messung oder Verbesserung der Code- und Anwendungseffizienz. ___ tag123mysql ___ MySQL ist ein freies, relationales Datenbank-Managementsystem (RDBMS), das die strukturierte Abfragesprache (SQL) verwendet. Verwenden Sie dieses Tag NICHT für andere DBs wie SQL Server, SQLite usw. Dies sind verschiedene DBs, die alle SQL verwenden, um die Daten zu verwalten. ___ answer2954039 ___

Die Verwendung von %code% ist NICHT Volltext.

Sie müssen %code% verwenden, um auf eine Volltextsuche zuzugreifen.

    
___
Bill Karwin 01.06.2010, 23:30
quelle
5

Die Verwendung von LIKE ist NICHT Volltext.

Sie müssen ... WHERE MATCH(column) AGAINST('the query') verwenden, um auf eine Volltextsuche zuzugreifen.

    
Mitch Dempsey 01.06.2010 23:25
quelle
4

MySQL Die Volltextsuche funktioniert - ich würde es untersuchen und debuggen, anstatt dies zu versuchen. Das Ausführen von 3 separaten MySQL-Abfragen wird nicht annähernd so effizient sein.

Wenn Sie versuchen möchten, das so effizient zu gestalten, können Sie die LIKE -Anweisungen in einer Abfrage mit OR zwischen ihnen trennen.

    
Kerry Jones 01.06.2010 23:23
quelle

Tags und Links