Hallo!
Bevor ich mit Programmierversuchen loslege, würde ich gern Eure Meinung/Einschätzung hören.
Ich habe eine Mysql-Datenbank mit ca. 200.000 Begriffen.
Nun hatte ich schon mehrere Anfragen nach einer Art "Buchstaben Shaker". Ich weiß aber nicht ob das Performance technisch realisierbar ist. Die Umsetzung wäre über Webinterface mit PHP angedacht.
Beispiel:
H U S C L E werden als Buchstaben eingegeben.
Nun sollen die Buchstaben so oft sortiert werden, bis alle Möglichkeiten probiert sind. Dabei sollen dann die Begriffe ausgegeben werden, die in der Datenbank vorhanden sind. z.B. Schule
Das gibt natürlich riesig viele Möglichkeiten und bedingt sicher eine Menge Rechenleistung. Gibt es Möglichkeiten das zu optimieren, wo seht Ihr den sinnvollsten Weg?
Ich würde ja meinen, dass man einmal die Datenbank abfragt in der Wortlänge und das in ein Array legt. Das wären dann schätzungsweise bis zu 15.000 Begriffe in dem Array.
Sollte man dann einfach diese Wörter zerlegen und filtern welche Buchstaben drin sind, aber nicht sein dürfen und dann die verbleibenden in ein neues Array legen? Bringt ein Wortlängenbeschränkung auf max. 12 Buchstaben oder so etwas?
So, ich hoffe, das Problem ist erstmal umfassend und klar umschrieben. Ich hoffe auf Eure Hilfe.
Vielen Dank und Grüße an Alle
Jens
Bevor ich mit Programmierversuchen loslege, würde ich gern Eure Meinung/Einschätzung hören.
Ich habe eine Mysql-Datenbank mit ca. 200.000 Begriffen.
Nun hatte ich schon mehrere Anfragen nach einer Art "Buchstaben Shaker". Ich weiß aber nicht ob das Performance technisch realisierbar ist. Die Umsetzung wäre über Webinterface mit PHP angedacht.
Beispiel:
H U S C L E werden als Buchstaben eingegeben.
Nun sollen die Buchstaben so oft sortiert werden, bis alle Möglichkeiten probiert sind. Dabei sollen dann die Begriffe ausgegeben werden, die in der Datenbank vorhanden sind. z.B. Schule
Das gibt natürlich riesig viele Möglichkeiten und bedingt sicher eine Menge Rechenleistung. Gibt es Möglichkeiten das zu optimieren, wo seht Ihr den sinnvollsten Weg?
Ich würde ja meinen, dass man einmal die Datenbank abfragt in der Wortlänge und das in ein Array legt. Das wären dann schätzungsweise bis zu 15.000 Begriffe in dem Array.
Sollte man dann einfach diese Wörter zerlegen und filtern welche Buchstaben drin sind, aber nicht sein dürfen und dann die verbleibenden in ein neues Array legen? Bringt ein Wortlängenbeschränkung auf max. 12 Buchstaben oder so etwas?
So, ich hoffe, das Problem ist erstmal umfassend und klar umschrieben. Ich hoffe auf Eure Hilfe.
Vielen Dank und Grüße an Alle
Jens
Kommentar