[MySQL] match..against bardzo wolne
sunday@t.l.e.n.py.ly - 07-01-2006 21:04
[MySQL] match..against bardzo wolne mam pytanie: jest duża tabela, prawie 20 mln rekordów, ale o prostej budowie - zaledwie kilka kolumn, kilkanaście znaków długości, jedna kolumna dłuższa.
Niestety, do potrzeb raportów trzeba robic wyszukiwania MATCH "kolumna" AGAINST "czego szukamy" i to potrafi trwać dłuuugo.
Czy sa jakies triki, specjalne indeksy, albo coś żeby to przyspieszyć?
SUNDAY
Przemyslaw Popielarski - 09-01-2006 10:08
Użytkownik <sunday@t.l.e.n.py.ly> wrote: > mam pytanie: jest duża tabela, prawie 20 mln rekordów, ale o prostej > budowie - zaledwie kilka kolumn, kilkanaście znaków długości, jedna > kolumna dłuższa. > > Niestety, do potrzeb raportów trzeba robic wyszukiwania MATCH > "kolumna" AGAINST "czego szukamy" i to potrafi trwać dłuuugo. > > Czy sa jakies triki, specjalne indeksy, albo coś żeby to przyspieszyć?
No, są. Indeksy pelnotekstowe.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
rstanile@tNOtenbit.SPAM.pl - 09-01-2006 10:08
On Sun, 8 Jan 2006 00:42:17 +0100, "Przemyslaw Popielarski" <premax@hot.pl> wrote:
>Użytkownik <sunday@t.l.e.n.py.ly> wrote: >> mam pytanie: jest duża tabela, prawie 20 mln rekordów, ale o prostej >> budowie - zaledwie kilka kolumn, kilkanaście znaków długości, jedna >> kolumna dłuższa. >> >> Niestety, do potrzeb raportów trzeba robic wyszukiwania MATCH >> "kolumna" AGAINST "czego szukamy" i to potrafi trwać dłuuugo. >> >> Czy sa jakies triki, specjalne indeksy, albo coś żeby to przyspieszyć? > >No, są. Indeksy pelnotekstowe.
OIMW match...against dziala TYLKO jesli dane pole jezt zaindeksowane pelnotekstowo, ale moge sie mylic.
Wynik polecenia SQL EXPLAIN SELECT id from Opisy WHERE match tekst against ("john"); ..
table type possible_keys key key_len Opisy fulltext Tekst Tekst 0
ref rows Extra 1 where used
Rafal
Przemyslaw Popielarski - 09-01-2006 10:08
Użytkownik <rstanile@tNOtenbit.SPAM.pl> wrote: > OIMW match...against dziala TYLKO jesli dane pole jezt zaindeksowane > pelnotekstowo, ale moge sie mylic.
Mozesz sie mylic, zwlaszcza jesli wyszukiwanie pelnotekstowe odbywa sie w trybie boolean, co nie bylo jasne na podstawie wypowiedzi autora wątku, ktoremu oczywiscie nie chcialo sie podac ani pelnej formy zapytania przesylanego do serwera ani nawet glownej wersji silnika, nie mowiac o podrzednej.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.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 |
|