Postgres i libpq dla dużej tabeli.

0

Witam przygotowałem tabele z 5 mln rekordów dodałem index do pól idgracza,idxy i gdy wywołuję zapytanie:
SELECT *
FROM ukladinfo
WHERE idxy IN (SELECT idukladuxy FROM _planety WHERE idgracza = 2)

to w pgadminie czas wykonywania jest około 0,4 sekundy.

Natomiast w moim programie c++ aby wszystko było szybciej wykorzystałem PQprepare(...).
Następnie Wywołuję PQexecPrepared(...) i od momentu wywołania funkcji do zwrócenia rezultatu czekam około 10 sekund.
Czym takie spowolnienie może być spowodowane bo to jakaś tragedia...?
Mam ustawiony jeden parametr dla PQprepare - chodzi o pole idgracza, który jest type int.

0

W sumie nie pomyślałem... Skoro i tak i tak muszę przejść po wszystkich gniazdach wywołując funkcję FD_ISSET, a gniazda przechowuję w strukturach, natomiast moja pętla przechodzi przez te wszystkie struktury to i dostęp do danych będę miał O(1). Pozostało pytanie czy select będzie szybszy...???

1 użytkowników online, w tym zalogowanych: 0, gości: 1