![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 7.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam, chciałbym się dowiedzieć a może bardziej upewnić czy projekt króry właśnie szykuje ma rację bytu. Będzie to baza danych w MySQL. w tej bazie będzie ok 15 tabel o wymiarze 3000wierszyx500kolumn więc w moim mniemaniu całkiem dużo. Taki wymar jest chyba najlepszą opcją dla mojego serwisu.
czyli: _________nazwa1__nazwa2__nazwa3__nazwa4...... element1______0______1______0______1 element2______1______1______0______0 element3______1______0______0______1 element4______1______0______1______0 : : : wiec tak wygląda idea jednej z 15 tablic. nazw bedzie ok 500, elementów ok 3000. W wartościach będzie true or false, czyli 0 i 1. Cały bajer polega na tym, że użytkownik wybierze sobie powiedzmy ok 15 nazw i zadaniem serwera będzie zwrócić wszystkie elementy które zawierają się w zadanym zbiorze, czyli mają jedynki w odpowiedniej kolumnie. czyli np. zadaje mu, że ma szukać po nazwach 1,3 i 4 i powinien zwrócić elementy 3 i 4. Jeden element będzie miał ok 10 jedynek w wierszu, czyli ok 490 pól będzie zerami. Sposób szukania mam juz opracowany i będzie to szukanie nie po "jedynkach" czyli tam gdzie element występuje, ale po "zerach", dzięki czemu wyeliminuje rekordy niespełniające założenia. Nie wiem czy to aby dobry pomysł... czy nie zamuli serwera... wielkość całej bazy (to znaczy jej zawartości) szacuje na jakies 8-10Mb czyli relatywnie nie dużo, za to będzie masa szukania. Proszę powiedzcie czy MySQL pociągnie takie szukanie. przewiduję może i optymistycznie, że odwiedzin stron będzie ok 10000 dziennie (przynajmniej na tyle chciałbym, aby strona była przygotowana) Czy MySQL to dobra opcja? Z góry dziękuję za odpowiedz. Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
No dobra, czyli mamy tak:
to nam pobiera nazwy wszystkich podzbiorów złączamy to z
czyli z listą ID tych podzbiorów, w których występują nasze słowa kluczowe Gdybyśmy tak zostawili, to dostalibyśmy te podzbiory, które oprócz wskazanych przez nas słów kluczowych zawierają też inne, a chcemy mieć tylko wskazane przez nas. Dlatego robimy jeszcze jedno złączenie, tym razem lewe.
to jest lista ID tych podzbiorów, w których występują słowa kluczowe inne niż te wskazane przez nas. Ponieważ złączenie jest lewe, to jeżeli dla danego ID podzbioru nie ma w nim słów kluczowych inne niż te wskazane przez nas, to po złączeniu podstawione zostanie NULL. Te wartości NULL odrzucamy przez
Na koniec grupujemy wyniki po ID podzbioru, tak żeby nam się wyniki nie powtarzały. Możesz zapuścić takie zapytanie, w którego wynikach widać trochę lepiej co się dzieje.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 12:31 |