przeszukiwanie duzej bazy danych
lorents - 13-11-2006 00:44
przeszukiwanie duzej bazy danych
Witam
Baza danych mySQL, okolo 2tys rekorodw, w kazdym pole tekstowe z dosc liczba informacji. Wszystko ma byc wyswietlane na stronie www. Jak najlpeiej zrobic wyszukiwanie danych z tej bazy wedlug wpisanych przez uzytkonwnika slow kluczowych aby nie obciazac zbytnio serwera? Pomyslalem, ze moze lepiej byloby utworzyc w tabelce dodatowe pola ze slowami kluczowymi i tam przeprowadzac wyszukiwanie? Bo przeszukiwanie tych 2000 pol tekstowych , dos duzych nie jest chyba najlepszym pomyslem?
z gory dzikuje za podpowiedz pozdrawiam
- 13-11-2006 00:44
lorents napisał(a): > Witam > > Baza danych mySQL, okolo 2tys rekorodw, w kazdym pole tekstowe z dosc liczba > informacji. > Wszystko ma byc wyswietlane na stronie www. Jak najlpeiej zrobic > wyszukiwanie danych z tej bazy wedlug wpisanych przez uzytkonwnika slow > kluczowych aby nie obciazac zbytnio serwera? > Pomyslalem, ze moze lepiej byloby utworzyc w tabelce dodatowe pola ze > slowami kluczowymi i tam przeprowadzac wyszukiwanie? > Bo przeszukiwanie tych 2000 pol tekstowych , dos duzych nie jest chyba > najlepszym pomyslem? > > z gory dzikuje za podpowiedz > pozdrawiam > >
A od kiedy 2000 to dużo? Czy zanim napisałeś posta zrobiłeś proste testy?
Pozdrawiam.
lorents - 13-11-2006 00:44
>> > > A od kiedy 2000 to dużo? > Czy zanim napisałeś posta zrobiłeś proste testy?
hmm, ale gdy strona ma powiedzmy 10tys odwiedzin dziennie? Poza tym ciekawi mnie jakie rozwiazania stosuja jakieswieksze portale czy ksiegarnie internetowe?
Mikolaj Rydzewski - 13-11-2006 00:44
lorents <lorents@wpdowycieciacom.pl> wrote: >> A od kiedy 2000 to dużo? >> Czy zanim napisałeś posta zrobiłeś proste testy? > > hmm, ale gdy strona ma powiedzmy 10tys odwiedzin dziennie?
Przy zalozeniu uzytkowania przez 8 godz (np. intranet) daje to jedno zapytanie na 3 sekundy. Nie jest to duzo ;-) A jesli rekordow jest tylko 2k to nie mamy o czym gadac ;-) Trzymaj wszystkie w pamieci, hehe.
A na powaznie: zrob testy, zapusc jakis automat (jmeter) zeby sprawdzic jak zachowuje sie aplikacja pod obciazeniem. Wydaje mi sie, ze mysql ma cos do przeszukiwania pelnotekstowego.
> Poza tym ciekawi mnie jakie rozwiazania stosuja jakieswieksze portale czy > ksiegarnie internetowe?
Keszowanie? Keszowac mozna wyniki zapytan, generowane fragmenty stron, cale strony.
-- Mikolaj Rydzewski <miki@ceti.pl> http://ceti.pl/~miki/ PGP KeyID: 8b12ab02 There are three kinds of people: men, women, and unix.
superatm - 13-11-2006 00:44
Mikolaj Rydzewski napisał(a): > lorents <lorents@wpdowycieciacom.pl> wrote: >>> A od kiedy 2000 to dużo? >>> Czy zanim napisałeś posta zrobiłeś proste testy? >> hmm, ale gdy strona ma powiedzmy 10tys odwiedzin dziennie? > > Przy zalozeniu uzytkowania przez 8 godz (np. intranet) daje to jedno > zapytanie na 3 sekundy. Nie jest to duzo ;-) A jesli rekordow jest tylko > 2k to nie mamy o czym gadac ;-) Trzymaj wszystkie w pamieci, hehe. > > A na powaznie: zrob testy, zapusc jakis automat (jmeter) zeby sprawdzic jak > zachowuje sie aplikacja pod obciazeniem. Wydaje mi sie, ze mysql ma cos > do przeszukiwania pelnotekstowego. > >> Poza tym ciekawi mnie jakie rozwiazania stosuja jakieswieksze portale czy >> ksiegarnie internetowe? > > Keszowanie? Keszowac mozna wyniki zapytan, generowane fragmenty stron, > cale strony. >
a jak się je cache-uje?
Tomasz Judycki - 13-11-2006 00:44
lorents <lorents@wpdowycieciacom.pl> napisał(a): > Baza danych mySQL, okolo 2tys rekorodw, w kazdym pole tekstowe z dosc liczba > informacji. > Wszystko ma byc wyswietlane na stronie www. Jak najlpeiej zrobic > wyszukiwanie danych z tej bazy wedlug wpisanych przez uzytkonwnika slow > kluczowych aby nie obciazac zbytnio serwera? > Pomyslalem, ze moze lepiej byloby utworzyc w tabelce dodatowe pola ze > slowami kluczowymi i tam przeprowadzac wyszukiwanie? > Bo przeszukiwanie tych 2000 pol tekstowych , dos duzych nie jest chyba > najlepszym pomyslem? > > z gory dzikuje za podpowiedz > pozdrawiam
Moja wiedza nt. MySQLa jest minimalna, za to dobrze znam się na Googlach ;-)
http://dev.mysql.com/doc/refman/5.0/...xt-search.html
Jeśli zawartość tej bazy danych nie ulega zbyt dużym zmianom to warto rozważyć skorzystanie z http://lucene.apache.org/, aczkolwiek 2 tys rekordów to naprawdę niewiele.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
=?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?=
Dwie bazy czy dwie tabele?
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
[mssql] insert do tabeli na podstawie danych z innej tabeli
=?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?=
zanotowane.pldoc.pisz.plpdf.pisz.plfantazia.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|