No dobra, trzeba było od początku wyjaśnić do czego mi to potrzebne.
Jest to pomoc (niektórzy powiedzą, że oszukiwanie) do gier słownych typy scrabble czy literaki. Użytkownik podaje zestaw liter jakie ma, a strona pokazuje, jakie wyrazy można z tego ułożyć. Dopuszczalne wyrazy mam w bazie danych.
Teraz już wiecie, dlaczego za każdym razem muszę generować anagramy od początku i dlaczego porównywanie anagramów z danymi z bazy jest zbyt zasobożerne.
W tej chwili mam takie rozwiązanie, że robię listę wszystkich anagramów, a następnie w bazie dokonuję porównań za pomocą SELECT ... WHERE ... IN
Gdyby kogoś ciekawiło jak się to sprawuje to zapraszam na
http://krzyzowkowo.pl/scrabble. Niestety, ze względów wydajnościowych musiałem wprowadzić ograniczenie do 8 liter.