Autor Téma: Formulár - dlhá odozva  (Přečteno 637 krát)

Offline František

  • Guru
  • *****
  • Příspěvků: 867
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:Formulár - dlhá odozva
« Odpověď #15 kdy: 07-12-2022, 18:29:15 »
a analyzoval si ze co z tej opreacie zabera najviac casu?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6924
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Formulár - dlhá odozva
« Odpověď #16 kdy: 07-12-2022, 19:01:28 »
Samozrejme. Až tak ma nepodceňuj ;)
Vždy to je výber údajov z riadkovej tabuľky, ktorá má tých 16 740 000 záznamov. Pohybujem sa na úrovni do 6 sek. Už neviem nič optimalizovať. Všetko som predimenzoval. 4 500 bytov a 31 služieb za 10 rokov. Typicky sa bude používať tak 20 služieb. Už to spadne na 11 mil. záznamov!
V tomto prípade sa formulár tvorí za 15 sek. Lebo 3 x >4 = 15. Jednotlivé formuláre tie 4 sek. Užívateľ si môže vybrať.
Časť B) považujem za uzatvorenú.
Veľký správcovia používajú ucelenejšie systémy. Účtovníctvo, evidencia rôznej agendy... + práca s internetom. Na účtovníctvo si určite netrúfam. Ten internet je tiež mimo mňa. Predpokladám hosťovanie nejakého servera. Ale tá agenda, to áno.
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6924
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Formulár - dlhá odozva
« Odpověď #17 kdy: 07-12-2022, 19:51:07 »
Len pre info. Samozrejme, že to veľmi závisí od WHERE
Kód: Delphi [Vybrat]
  1. SELECT D.IDDEPOSITS
  2. FROM DEPOSITS D
  3.  cez 10 sek 1 116 000 záz.                              5 sek.                           Okamžite
  4. WHERE D.FKFOCS = 3130 AND D.DEPOSITPERIOD BETWEEN '1.1.2022' AND '1.12.2022' AND D.FKOWNER_FLAT = 63409
Sranda, ak som použil agregačnú funkciu SUM(D.IDDEPOSITS) či COUNT() pre D.FKFOCS = 3130, tak to boli 2 sek.
« Poslední změna: 07-12-2022, 20:02:23 od Stanislav Hruška »
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline František

  • Guru
  • *****
  • Příspěvků: 867
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:Formulár - dlhá odozva
« Odpověď #18 kdy: 07-12-2022, 20:38:05 »
presne tam mierim, myslim ze treba optimalizovat dotazy (z vlastnej skusenosti)

mas tam spravne indexy?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6924
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Formulár - dlhá odozva
« Odpověď #19 kdy: 07-12-2022, 21:16:07 »
Veď som experimentoval. Ale nie tak ako som to teraz uviedol v časti Firebird.
Skúšal som rôzne indexy. Účinok mal len jeden. Ten som ponechal.
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6924
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Formulár - dlhá odozva
« Odpověď #20 kdy: 08-12-2022, 10:51:36 »
Hm, človek sa dočká rôznych prekvapení.
Ak som to "dokonale" optimalizoval, tak sa pri debug exe mimo IDE dostávam pod 3 sek. 8) :P  Zísť z 27 s pod 3 s...
Takže vytvorenie samostatných formulárov bolo úplne zbytočné ;D
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.