Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [solved][postgresql][tSearch] Powoli wykonywane zapytanie z poziomu php, z konsoli postgres'a zapytanie wykonuje się błyskawicznie
rożen
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2006

Ostrzeżenie: (0%)
-----


Witam,
Ostatnio podczas optymalizacji jedego projektu i namierzyłem pewien dziwny problem.
Mianowicie z poziomu php wykonanie prostego zapytania z text search'em trwa bardzo długo (ok 800ms!).
Z konsoli postgres'a wykonanie tego samego zapytania trwa ok 0.2ms - czyli jest ok.
Wykonywanie innych duużo bardziej rozbudowanych i skomplikowanych zapytań (z php) działa bez zarzutu.
Problemy zaczynaja się dopiero przy pojawieniu się textsearcha, np przy:
  1. SELECT id FROM TABLE WHERE TABLE.TEXTSEARCH @@ to_tsquery('public.polish', 'fraza')
Wpisywana fraza nie ma znaczenia - chyba że jest pusta:
  1. SELECT id FROM TABLE WHERE TABLE.TEXTSEARCH @@ to_tsquery('public.polish', '')
wówczas czas jest w porządku (ale wyniki żadne).

Próbowałem przy użyciu PDO oraz pg_query - wyniki te same.
Czy ktoś ma jakieś pomysły co może powodować takie kosmiczne spowolnienie??

Dodam że jest to serwer dedykowany więc mam pole do manewru.
Postgresql w wersji 8.3.8

Pozdrawiam i z góry dziękuję za odpowiedzi.

EDIT:
Przyczyną jest najprawdopodobniej wczytywanie na nowo słownika za każdym razem, kiedy wywoływane jest zapytanie:
http://www.depesz.com/index.php/2008/04/22/polish-tsearch-in-83-polski-tsearch-w-postgresie-83/#comment-27653

Sprawdziłem i w konsoli pierwsze zapytanie rzeczywiście jest wykonywane równie powoli jak w problemie opisanym powyżej.

Pytanie w takim razie brzmi, jak wczytać go na stałe do pamięci?

EDIT2:
Z racji tego, że na przyczynę tego problemu samemu udało mi się odpowiedzieć, temat uważam za zamknięty; założyłem nowy o odpowiednim tytule:
http://forum.php.pl/index.php?showtopic=137368



Ten post edytował rożen 10.12.2009, 12:59:51
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:57