🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82925

Re: dziwne zachowanie TQuery

#82925
From: Mak
Date: Thu, 08 Mar 2018 06:27
68 lines
3712 bytes
W dniu 08.03.2018 o 01:42, wloochacz pisze:
> W dniu 2018-03-07 o 22:58, Maciek Sanocki pisze:
> /ciach/
> 
>> liczba rekordow jest oczywiscie stala za kazdym razem,
>> nie wiem tylko dlaczego po oczyszczeniu caschu
>> przejscie przez query za pomoca while not query.eof ...
>> twa wielokrotnosc tego tego co bez czyszczenia caschu.
>> To ze po oczyszczeniu caschu query wykonuje się dluzej to oczywistosc
>> wynikajaca z tego ze nie ma wtedy planu wykonania, za kazdym nastepnym 
>> ten plan juz jest.
> 
> No to teraz podaj szczegóły, o które pytał Roman;
> Jaka baza danych?
> Jak się z nią łączysz?
> Jakie komponenty?
> Dane ściągasz paczkami z serwera czy wszystko od razu (FetchAll)?
> 
> Pokaż zapytanie i może nawet to otwieranie i iterację.
> 
> Po co czyścisz cache, przecież po coś on jest prawda?
> 
baza SQLSerwer 2008
do laczenia uzywam blibow ( wlasne firmowe komponenty ) ale jak 
probowalem zwyklego TQuery bylo to samo
liczba rekordow w tabelce 2200 ale na rzeczywistej bazie klienta moga 
byc miliony
czasy wykonania w narzedziach bazodanowych sa wlasciwie takie same jak w 
programie,
kawalek kodu:

tq:=TBQuery.create(nil);
   try
     tq.databasename:='PETER';

       tq.sql.add('SELECT SUM(BETRAG) AS UMNETTO, 
SUM(BETRAG+NACHLASSSUMME) AS UMBRUTTO, SUM(STATISTIKMENGE) AS SMENGE,');
       tq.sql.add('SUM(DECKUNGSBEITRAG) AS DB, TYP, DATUM, NRBELEGTYP 
FROM AVK120  WHERE ');
       tq.sql.add('DATUM>=:DAT_FROM AND DATUM<:DAT_TO  AND  NRBELEGTYP 
IN (20,21,31,40,41,241) ');
      tq.sql.add('GROUP BY TYP,  NRBELEGTYP, DATUM ');

     tq.parambyname('DAT_FROM').asdatetime:=dfrom;
     tq.parambyname('DAT_TO').asdatetime:=dto;

     tq.open;
     tq.FetchAll;
     tq.First;
     while not tq.eof do
     begin 
details:=TDataDetails.create(tq.FieldByName('DATUM').asdatetime,tq.fieldbyname('NRBELEGTYP').asinteger,tq.FieldByName('TYP').AsInteger, 
 
tq.fieldbyname('UMNETTO').asfloat,tq.FieldByName('UMBRUTTO').asfloat, 
 
tq.fieldbyname('SMENGE').asfloat,tq.FieldByName('DB').asfloat);
       tmplist.Add(details);
       tq.Next;
     end;
  finally
   tq.free;
  end;

cache czyszcze wylacznie dla testow
generalnie sytuacja jest taka, ze rano klent pierwszy raz odpala program 
i wczytanie i pokazanie danych zajmuje 2min, kazde nastepne odpalenie to 
ok 10sek, 95% czasu przypada na powyzszy kawalek kodu, z czego wiekszosc 
nie na same zapytanie a na petle z tworzeniem obiektow
Technical Details
Message-ID: <5aa0d7ca$0$31350$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <5aa022c1$0$31369$65785112@news.neostrada.pl> <1ota1riogmm04.dlg@tyczka.com> <5aa04fb2$0$1004$65785112@news.neostrada.pl> <1v4tf0jgkxp75$.dlg@tyczka.com> <5aa059f1$0$31355$65785112@news.neostrada.pl> <5aa06075$0$31372$65785112@news.neostrada.pl> <5aa086e6$0$31366$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: dziwne zachowanie TQuery
Newsgroups: pl.comp.lang.delphi.bazy-danych
References: <5aa022c1$0$31369$65785112@news.neostrada.pl> <1ota1riogmm04.dlg@tyczka.com> <5aa04fb2$0$1004$65785112@news.neostrada.pl> <1v4tf0jgkxp75$.dlg@tyczka.com> <5aa059f1$0$31355$65785112@news.neostrada.pl> <5aa06075$0$31372$65785112@news.neostrada.pl> <5aa086e6$0$31366$65785112@news.neostrada.pl>
From: Mak <sanocki@orga-soft.pl>
Date: Thu, 8 Mar 2018 07:27:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <5aa086e6$0$31366$65785112@news.neostrada.pl>
Lines: 68
Message-ID: <5aa0d7ca$0$31350$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 87.205.12.193
X-Trace: 1520490443 unt-rea-b-01.news.neostrada.pl 31350 87.205.12.193:49946
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit