Hallo!
Ich muss für einen Webshop eine Suchfunktion programmieren. Es kann nach Seriennummern für Artikel gesucht werden. Es gibt aber zu jedem Produkt verschiedene Seriennummern. Die Suche sieht so aus, dass man in einem Teil nach Hersteller+Gerätetyp suchen kann.
Wenn man nach Hersteller+Gerätetyp sucht, bekommt man 4-5 verschiedene Seriennummern heraus... (diese Seriennummern können alle zu einem Artikel führen, aber auch zu verschiedenen... da die Produkte "alte" und "neue" Seriennummern haben...)
Mit diesen Seriennummern soll in der Artikel-Tabelle gesucht werden. In der Spalte für die Artikelnummer sind sind mit Leerzeichen getrennt verschiedene Seriennummern zu einem Produkt (eben auch "alte" und "neue" Seriennumer etc. verschiedene Schreibweisen, einmal mit "/" einmal ohne oder mit "-" oder ohne "-"...), also eine Art Searchindex.
Ich habe das jetzt mal so gelöst:
...Das funktioniert zwar einwandfrei, allerdings dauert die Suche zu lang
....Mit LIKE ist das auch nicht die perfekte Lösung, müsste wahrschienlich dann so aussehen:
..Bei der Lösung wird die Abfrage aber ewig lang... ich denke, dass das sich das auch nicht gerade fördernd auf die Geschwindigkeit auswirkt.
Könnt ihr mir helfen?
Ich muss für einen Webshop eine Suchfunktion programmieren. Es kann nach Seriennummern für Artikel gesucht werden. Es gibt aber zu jedem Produkt verschiedene Seriennummern. Die Suche sieht so aus, dass man in einem Teil nach Hersteller+Gerätetyp suchen kann.
Wenn man nach Hersteller+Gerätetyp sucht, bekommt man 4-5 verschiedene Seriennummern heraus... (diese Seriennummern können alle zu einem Artikel führen, aber auch zu verschiedenen... da die Produkte "alte" und "neue" Seriennummern haben...)
Mit diesen Seriennummern soll in der Artikel-Tabelle gesucht werden. In der Spalte für die Artikelnummer sind sind mit Leerzeichen getrennt verschiedene Seriennummern zu einem Produkt (eben auch "alte" und "neue" Seriennumer etc. verschiedene Schreibweisen, einmal mit "/" einmal ohne oder mit "-" oder ohne "-"...), also eine Art Searchindex.
Ich habe das jetzt mal so gelöst:
Code:
SELECT * FROM shop_items WHERE searchindex REGEXP '{$articleids}'
...Das funktioniert zwar einwandfrei, allerdings dauert die Suche zu lang

Code:
SELECT * FROM shop_items WHERE searchindex LIKE %seriennummer1% OR searchindex LIKE %seriennummer2%...
..Bei der Lösung wird die Abfrage aber ewig lang... ich denke, dass das sich das auch nicht gerade fördernd auf die Geschwindigkeit auswirkt.
Könnt ihr mir helfen?