Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 32 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Na początek chciałbym przywitać wszystkich, jestem tu nowy (IMG:style_emoticons/default/smile.gif)
Oto problem: Tworzę stronę o scrabble i chcę zrobić narzędzie anagramator takie jak tu: http://www.pfs.org.pl/anagramator.php Chcę osiągnąć jak największą wydajność przy anagramacji i nie potrafię wymyślić dobrej struktury tabeli MySQL ze słówkami jak i samego zapytania. (W bazie znajduje się >1.000.000 słów) Jedyna rozwiązanie na jakie wpadłem to takie, że tabela składa się ze słowa i 26 kolumn odpowiadającym ilości danej litery w słowie oraz jedej kolumna odpowiadająca ilościom liter w słowie - czyli np. [b]TRAMWAJ[b] to: Cytat T - 1 R - 1 A - 2 M - 1 W - 1 J - 1 Długość - 7 zapytanie SQL wygląda tak: Kod SELECT Słowo FROM Tabela WHERE T=1 AND R=1 AND A=2 AND M=1 AND W=1 AND J=1 AND Dlugosc=7 Niestety takie zapytanie zajmuje ok. 2-3 sekundy, co jest kompletnie niewydajne. Próbowałem też z RLIKE, REGEXP itd. ale to wychodzi jeszcze gorzej... Czy ma ktoś "szybszy" pomysł? (IMG:style_emoticons/default/smile.gif) ) |
|
|
|
altruista2 Anagramacja (permutacja), scrabble i zapytanie MySQL 8.02.2010, 17:05:23
Crozin Nie robiłem żadnych testów, ale wydaje mi się, że ... 8.02.2010, 17:25:29
altruista2 Też myślałem o tym, ale spójrz:
TRAMWAJ =
AAJMWR... 8.02.2010, 17:42:26
Aztech Proponuję zapoznanie się z pracą Daniela Janusa na... 11.02.2010, 10:39:56
altruista2 Wielkie dzięki za pomoc!
Patrząc na Twój awat... 28.02.2010, 17:27:08
scrabblemania.pl mnie się udało osiągnąć całkiem przyzwoite wyniki ... 4.04.2010, 08:40:29 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 03:49 |