Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-23, 10:17x



Odpowiedz w temacie  [ Posty: 5 ] 
Szybkość bazy danych 
Autor Wiadomość

Rejestracja: 2007-11-20, 14:54
Posty: 21
Post Szybkość bazy danych
Cześć,

Sprawa dotyczy programu Handel 2.0

Napisałem dla klienta program na Androida dla jego przedstawicieli handlowych, który pozwala na odczyt w terenie zaległości klientów.

Prosta aplikacja która czyta z serwera REST dane.

Serwerem REST jest aplikacja na serwerze z bazą danych. Łączę się z bazą poprzez ODBC. Można powiedzieć że wszystko działa dość dobrze, poza jednym.

Standardowo każdy przedstawiciel widzi wszystkich swoich kontrahentów (aplikacja na start pobiera taką listę). Robię to bardzo prostym zapytaniem sql w którym pobieram kod kontrahenta z warunkiem z pola poledod2 (tam wrzucone mam przypisanie przedstawiciela do kontrahenta). Zapytanie wygląda następująco:
Kod:
select kod from KH where rodzaj = 3100 and poledod2 = 'tutaj_nazwa_przedstawiciela' order by kod


Takie pytanie wykonuje się dość szybko.

Jednak dzisiaj wpadłem na pomysł aby przedstawiciel mógł pobrać tylko listę swoich klientów którzy mają zaległości (dokładnie to jest wybór trybu pracy).

Takie dane pobieram z bazy PN:
Kod:
select d.khkod from PN d inner join KH k on d.khid = k.id where (d.typdk = 'FVS' or d.typdk = 'FVSW') and d.kwotawal > 0 and d.termin < Now() and k.poledod2 = 'tutaj_nazwa_przedstawiciela' GROUP BY d.khkod order by d.khkod


No i zaczęły się problemy. Na serwerze testowym jeszcze jakoś to działa, chociaż według mnie tragicznie ale na serwerze produkcyjnym do którego było podpiętych kliku klientów wynik był tragiczny. Gdy kliku przedstawicieli wpadło na pomysł odświeżenia listy kontrahentów z zaległościami prawie zabiło mi to bazę danych.

Sprzęt raczej wydala, niezły serwer Della z dobrymi komponentami, Pervasive 12 Workgroup (fakt że ten dołączany do Symfonii).

Takie pytanie na serwerze testowym (w tabeli PN jest trochę ponad 220 tys. rekordów więc nie jakoś strasznie dużo a w tabeli KH około 1,5 tys.) trwa około 2,2 sekundy.
Pomyślałem że to może być wina ODBC które jednak pośredniczy w tym zadaniu. Sprawdziłem więc pytanie na PSQL Control Center. Jest lepiej, pytanie trwa 1,8 sekundy.

Ktoś może powiedzieć że jest to w miarę ok.

Zrobiłem więc eksperyment, na tym samym serwerze postawiłem MS SQL 2017 w wersji express (więc niezbyt wydajne rozwiązanie). Zaimportowałem bazę klienta i sprawdziłem to samo zapytanie, na odpowiedź czekałem, uwaga ... 48 ms !!!

To jest przepaść.

No i teraz pytanie, czy pervasive jest aż tak mało wydajny w porównaniu z MS SQL czy to raczej wersja workgroup jest taka wolna?

Podzielcie się swoimi doświadczeniami.
Na dzisiaj myślę o napisaniu narzędzia które co kilka godzin będzie importowało dane do bazy MS SQL, fakt dane nie będą "najświeższe" ale za to nie będę się stresował lagami.

Pozdrawiam
Robert


2021-03-23, 23:26
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post Re: Szybkość bazy danych
To jest Pervasive. unikaj Group by i warunków na nieindeksowanych polach.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2021-03-23, 23:57
Wyświetl profil

Rejestracja: 2007-11-20, 14:54
Posty: 21
Post Re: Szybkość bazy danych
chętnie bym to zrobił inaczej, nawet mocno się ucieszyłem że w tabeli KH są kolumny "stanpl" i "stannl" bo pomyślałem że w nich są trzymane zagregowane dane które mi są potrzebne, ale nie, pusto tam jest niestety.


2021-03-24, 00:35
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post Re: Szybkość bazy danych
Niedługo Klient i tak będzie przechodził na Handel na SQL.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2021-03-24, 12:08
Wyświetl profil

Rejestracja: 2007-11-20, 14:54
Posty: 21
Post Re: Szybkość bazy danych
Rafale, jest coś czego nie wiem, możesz mnie oświecić? Klient ma oczywiście abonament (zresztą kupowany u ciebie) ale zainteresowałeś mnie mocno?


2021-03-24, 12:15
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 5 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Szybkość ERP

w Techniczne

marty123

0

2348

2018-01-12, 20:04

marty123 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. 50c szybkość działania

w Programy Księgowe

ryba

8

6413

2019-06-08, 09:41

wiwe Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Pervasive - szybkość działania w sieci

w Techniczne

amo

3

4161

2015-02-05, 00:50

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Czy upgrade z Btrieve na Pervasive zwiększa szybkość?

w Techniczne

Arry

3

3479

2010-09-28, 22:53

darek.007 Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 17 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant