Autor Téma: Table.Filter kontra Select ... Where  (Přečteno 2417 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6141
  • Karma: 44
    • Verze Delphi: W10 + D11
Table.Filter kontra Select ... Where
« kdy: 06-10-2012, 09:54:51 »
To sú také úvahy. Len si myslím, že dosť podstatné. Určite ich bude viac.

Ostal som zaskočený, že pri Table.Filter := 'mojepole = cosi ' nepoznal mojepole. Našťastie som rýchlo zistil, že si to musím vo FB nadefinovať (zlatý Access  :), tam som to nemusel robiť).

V takomto prípade sa mi javí podstatne lepšie použiť "Select ... Where" a tým sa vyhnem
- x definíciam vo FB
- a že niektorú zabudnem/neodhadnem dopredu

Tu ma teoreticky zaujíma, čo berie menej systémových prostriedkov.
Vzhľadom na debatu v téme IBQuery a túto skúsenosť mi vychádza, že mám všade používať SQL typu Select.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1559
  • Karma: 37
    • Pepak.net
Re:Table.Filter kontra Select ... Where
« Odpověď #1 kdy: 06-10-2012, 10:10:44 »
Ano, všude používej SQL typu SELECT. Filter by teoreticky mohl být lepší na malých resultsetech, pokud by celý probíhal na klientovi. Nejsem si jistý, že Filter probíhá celý na klientovi, spíš si myslím, že to je implementačně závislé.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6141
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Table.Filter kontra Select ... Where
« Odpověď #2 kdy: 06-10-2012, 11:11:01 »
Ďakujem. Ono je ešte otázne či by správne fungovalo čo používam teraz:

mytable.filter := 'pole=cosi';
...mytable.RecordCoun...

Na pobavenie:
Mal som predstavu, že SQL je pre DB niečo ako by mňa poslali pracovať s čakanom (krompáčom). Až som raz čítal debatu, kde sa bavili, že TISÍC SQL za sekundu nie je tak veľa.
Ale zmena je život. A jedná sa zmeny postojov/názorov. Hor sa do nich.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.