Forum Delphi.cz

Delphi => FireDAC => Téma založeno: Stanislav Hruška 07-11-2017, 13:51:53

Název: TFDQuery.FetchAll - dá sa to niekde nastaviť ako default?
Přispěvatel: Stanislav Hruška 07-11-2017, 13:51:53
V transakcii som to nenašiel. No neviem aké parametre sa tam dajú nasekať.
TFDQuery to má ako metódu.
Název: Re:TFDQuery.FetchAll - dá sa to niekde nastaviť ako default?
Přispěvatel: Stanislav Hruška 07-11-2017, 14:12:12
Ďakujem.
Práve som to našiel, vylúštil. Ale ako čítam Tvoj príspevok, tak som to pekne poplietol.
Dúfam, že to platí aj pre Refresh.
Název: Re:TFDQuery.FetchAll - dá sa to niekde nastaviť ako default?
Přispěvatel: Stanislav Hruška 07-11-2017, 20:07:25
Ako to tak po troške čítam, tak zisťujem, že to je poriadne zamotané. A nemožné si zapamätať ako sa to správa pri rôznych kombináciách vlastností.
Ale hlavne mám skúsenosť ktorá hovorí: čítaj pozorne všetko až do posledného slova!
Vďaka za vysvetlenie.

Poznámka: nikde nevidím, žeby sa na stránke o FireDAC dalo vyhľadávať. A keď to človek nepozná, tak mu index nijako nepomôže. Napr. pod R nie Refresh, lebo to je niekde v triede v ktorej to je definované. Ale v ktorej to je to nemám ešte ako vedieť. Dostať do hlavy celú štruktúru FireDAC je pre mňa nemožné :'(
Ten príklad neberte doslova. Viem, že Refresh ma hodí do Data.DB.TDataSet.Refresh
Název: Re:TFDQuery.FetchAll - dá sa to niekde nastaviť ako default?
Přispěvatel: Stanislav Hruška 07-11-2017, 22:19:24
Citace
Proc chces vlastne prenaset vsechny zaznamy? Kvuli lepsimu vykonu?
Dôvodov je viac. Jeden z nich môže byť aj výkon, ako som sa dočítal.
Všade kde mám použitý SELECT pracujem s celou sadou záznamov. Tých záznamov budem mať rádovo v stovkách. Takže objem dát nie je problémom. V drvivej väčšine prípadov mám while not qry.eof do. Čo znamená, že ich aj tak natiahnem všetky.
Teraz mám len doslovne pár záznamov a tak netuším ako dlho sa budú vykonávať jednotlivé operácie. A či by som pocítil rozdiel.
Niekde prechádzam dataset od konca. Neviem či by mu vadilo ak by nebol natiahnutý celý.
Inde si to vyžaduje spôsob práce s datasetom - ťahanie údajov do výpočtov.
Hlavne si v niektorých prípadoch nie som istý ako to funguje. Tak si vytváram poistku.
Název: Re:TFDQuery.FetchAll - dá sa to niekde nastaviť ako default?
Přispěvatel: Stanislav Hruška 08-11-2017, 08:39:24
Citace
pokud ti jde o vykon, zkus otestovat zda dosahnes vyssiho vykonu navysovanim
Držím sa zásady ktorú mi tu niekoľkokrát obili  o hlavu. Najprv nech ti to všetko správne funguje. Až potom sa venuj optimalizácii. A mne to ešte nefunguje ako má + nemám všetko otestované (lebo ma to už nebaví :) ).  Až k tomu dôjde, tak si najprv budem musieť vygenerovať dostatočný počet záznamov. Už len to generovanie bude zábava.