Hallo!
Ich verwende eine MySQL 5.1 Datenbank mit PHP 5.3 und habe ein Problem mit der Performance einer Abfrage.
Es sind in der entsprechenden Tabelle einige Spalten mit Text, die ich mit einem Suchbegriff im Volltext durchsuchen möchte, beispielsweise Spalte1, Spalte2, Spalte3 usw. Meine Abfrage müsste also lauten "WHERE Spalte1 LIKE '%$suchbegriff%' OR Spalte2 LIKE '%$suchbegriff%'" usw.
Das Problem ist, dass ich im Ergebnis unbedingt wissen muss, welche Spalte das Ergebnis geliefert hat. Ich würde gern in jeder Ergebniszeile eine Spalte mit dem Namen der betreffenden Spalte haben. Im Moment löse ich es mit mehreren Abfragen, die so aussehen:
"SELECT '$spalte' AS spalte, * FROM tabelle WHERE spalte LIKE '%$suchbegriff%'"
Aber so muss ich für jede Spalte eine eigene Abfrage machen, worunter die Performance extrem leidet.
Gibt es eine Möglichkeit, eine einzige Abfrage abzusetzen und im Nachhinein zu überprüfen, mit welcher Spalte die Übereinstimmung erzielt wurde?
Vielen Dank im Voraus und schöne Grüße
Hexe