![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w moim serwisie jest wykonywane około 160-180 zapytań na minutę w czasie największego ruchu w ciągu dnia. Jedno z nich, to zapytanie zawierające słowa kluczowe. Dotychczas zrealizowane było z użyciem LIKE i pole typu VARCHAR(1500), na które założony jest indeks typu FULLTEXT dawało oczekiwane wyniki, tylko wraz z rozrostem serwisu i tym samym bazy zaczęło działać trochę wolno. Napisałem nową wersję zapytania z wykorzystaniem MATCH AGAINST i tego samego pola oraz indeksu, które działa prawidłowo i daje oczekiwane wyniki, ale powoduje zawieszanie MySQL'a po około 5-15 minutach od momentu wdrożenia skryptu zawierającego nową wersję zapytania, kiedy wracam do poprzedniej z LIKE wszystko jest OK - nie wiem czym może to być spowodowane. Czy spotkaliście się z czymś podobnym, w czym może być problem? Z góry dziękuję za wszelką pomoc i wskazówki. |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 4.05.2010 Ostrzeżenie: (20%) ![]() ![]() |
hej, niektórzy piszą o ma th against w innodb (IMG:style_emoticons/default/smile.gif)
Zrób crona co będzie duplikował ci tabelę, jak dobrze ktoś powiedział mylsam jest fajne i szybkie, zajmuje dużo miejsca ale do full text ok. Tabelę co jest zmień na innodb (przyśpieszysz działanie bo innodb blokuje jeden rekord nie całą tabelę) Tabelę duplikat zrób w mylsam Kopiuj cronem np co godzinę jako np create table tabela_nowa as select * from tablica_stara i masz duplikat tylko do szukania full text bracie bez obciążeń insertów updatów itd. Z Bogiem! Ten post edytował www.aukcje.fm 21.11.2012, 21:07:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 10:04 |