sagittariuspl
14.03.2007, 22:04:23
jestem w trakcie pisania skryptu, ale z moich obliczeń wynika, że będzie on strasznie bazo chłonny. baza bedzie miała ok. 300 MB przy 3 milionach wierszy. wiem, że to wyglada strasznie. i tu moje pytanie: jak dobrze stworzyć taką bazę, by wyszukiwanie trwało stosunkowo krótko i zabierało mało mocy serwera. czy lepiej rozbić to na kilka baz i wyszukiwać partiami według potrzeb?
dr_bonzo
14.03.2007, 22:33:37
Odpowiednie indexy. Full Text indexy.
sagittariuspl
15.03.2007, 16:42:49
wpadłem na pomysł jak trochę to przyspieszyć zmniejszając rozmiar bazy o 30-50% (powineniem na to szybciej wpaść i mój pierwotny sposób, był jednym słowem do du... szy - pełna amatorka), ale nadal mnie zastanawia czy przeszukanie 3 mln wierszy nie zajmie wieczności na nie moim wszak serwerze. może lepiej podzielić zawartość na kilka tabel (np. według pierwszej litery jednej z kolumn) i w ten sposób wielkość przeszukiwania zmniejsza się do ok. 10 mb, co będzie chyba najlepszym rozwiązaniem
dr_bonzo
15.03.2007, 17:08:17
Ale co ty wyszukujesz? Wg czego? ID rekordu, czy w polach typu TEXT?
sagittariuspl
15.03.2007, 17:18:54
według pola typu TEXT
DeyV
15.03.2007, 23:50:06
Aby cokolwiek więcej powiedzieć na ten temat potrzeba by było parę dodatkowych informacji na temat tych tabel i planowanego sposobu ich wykorzystania.
Możliwości optymalizacji jest bowiem sporo.
Począwszy od utworzenia tabel słownikowych, ułatwiających wyszukiwanie poszczególnych wyrażeń, poprzez zaprojektowanie bardziej złożonych indexów (nie wiem, jak to teraz wygląda w MySQL), na FULL text, już wspomnianym, kończąc.
sagittariuspl
17.03.2007, 11:18:22
mam zamiar stworzyć jedną tabelę z tekstem i kilkanaście danych liczbowych, które postaram się, jeżeli będzie to możliwe, ograniczyć do boolean (jedna taka będzie na pewno) ale wiele po prostu liczb w jednym wierszu będę musiał umieścić. wychodzi mi bardzo rozbudowana baza z wieloma kolumnami i wierszami. aż się boję tworzyć dalej skrypt
DeyV
17.03.2007, 14:03:40
Przepraszam, ale ja chyba czegoś nie rozumiem.
1 tabela z kilkunastoma kolumnami to według Ciebie skomplikowana i rozbudowana baza?
To co mamy powiedzieć o bazie tego forum, gdzie jest kilkadziesiąt tabel, w każdej po kilkanaście / kilkadziesiąt pól, całość warząca dobre kilkaset mega?
sagittariuspl
17.03.2007, 15:11:12
jasne, tylko mówimy o 3 mln wierszy

(a i ta liczba jest chyba zaniżona patrząc na moje kolejne wyniki), na razie tworzę to wszystko bez bazy, ale w ten sposób odpada funkcja udostępnienia skryptu wiekszej ilości osób
mike
17.03.2007, 16:07:09
Cytat(sagittariuspl @ 17.03.2007, 15:11:12 )

jasne, tylko mówimy o 3 mln wierszy

Jedna tabela i 3mln wierszy to nadal pikuś.
Nie ma czym się jarać.
sagittariuspl
17.03.2007, 16:42:41
skoro tak, to zobaczymy jak to będzie działać...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.