Jak na browse velke tabulky v sql ?

Michal Samek webmaster na tony.cz
Pátek Únor 20 14:21:24 CET 2004


Dobry den,
omlouvam se, jestli se to tu uz nejak resilo... Podotykam, jsem byvaly
vyvojar pro xbase, sql dneska celkem bezne pouzivam, ale tomuhle proste
porad nerozumim. Pripada mi, ze je sql na neco ok a na neco uz moc ne...

Chtel bych prepsat nejakou aplikaci z doby dosu a xbase systemu. Vsichni
tvrdi, ze dnes je xbase v podstate mrtve a vyhody sql prevazuji atd. Jak
se ale resi browsing velkych tabulek? Mam treba nejaky katalog o 150000
zaznamech a chci si v nem listovat, s moznosti prepnout setrideni z
nekolika moznych a s inkrementalnim vyhledavanim. V clipperu je to
jednoduche, program v podstate "chodi" po tabulce na nejakem indexu a
muze inkrementalne seekovat. Navic to cele automaticky reaguje na zmeny
tech prohlizenych dat (jakmile vypadnou z bufferu nebo kdyz si to
vyzadam) Ale v sql ve spojeni s nejakym beznym gui? Vsechno, co mne
napada, je tak pomale nebo pametove narocne, ze je to v praxi
nepouzitelne, z pohledu uzivatele te stare xbase aplikace kazdopadne.
Nacist celou tabulku do gui objektu je pomale a zabere moc mista. Navic
bych pak nevidel zmeny. Nacitat pomoci offsetu je asi jedine reseni, to
ale budu bombardovat server neustalymi queries? Kazda se musi
preparsovat, zoptimalizovat a provest a navic si nejsem jisty, zda si
server vlastne pokazde nevytvori nejakou pracovni kopii celeho vysledku,
ze ktere mi pak vraci jenom cast (to by bylo brutalne neefektivni). A
zminene inkrementalni hledani? To uz vubec nevim. Taky potrebuju
prubezne vedet, kolik tech polozek v danem okamziku vidim, to znamena
porad se ptat select count... Nebo treba prepnuti setrideni, ale tak,
abych zustal porad na aktualnim zaznamu? Jak na tohle jit jednoduse,
netusim. Musel bych v danem setrideni zjistit pozici aktualniho zaznamu,
treba select vsechno a v tom to pak dohledat? Hruza. Resit to vsechno v
sql je oproti te "stare a nevykonne" xbase strasne pracne. Nebo existuji
nejake gui objekty, ktere umoznuji inteligentni napojeni na sql? Co na
to cele rikate? Unika mi neco? Diky za kazdy komentar...

-- 
Michal Samek <webmaster na tony.cz>



Další informace o konferenci Test