> > jsem jen hloupý chlapec z předměstí, ale opravdu netuším, proč bych na to měl > > používat subquery? Nebo mi něco uniklo? > > Zásada je dolovat z databáze jen ty informace, které nazbytně > potřebujete - je zbytečné chtít cokoli víc, a zbytečné zatěžovat databázi.
s tim souhlasim > Takové COUNT musí spočítat skutečný počet řádků - aby pak v programu > tato hodnota byla zahozena a tranformováno v pouhou hodnotu > existuje/neexistuje. Databáze tedy musela udělat zbytečnou práci, která > nebyla k ničemu. > > EXISTS pouze zjistí, zda takový řádek existuje, tedy databáze může > udělat méně práce. Databáze zjistí jen přesně to, co se využije. ano, ale v, a ted pozor (opravdu dobry pozor), tramtadada - v *poddotazu*. Takze abych zjistil udaj, ktery mohu zjistit prostym selektem, ktery pojede index range scanem - idealne pres unique ix, bych mel udelat umely pseudo-join? Napoveda: jakakoli reference SQL. Mimochodem, a ted uz se nebavme o sqlite, at si to zkousim na oracle, jak to zkousim, tak execution plan a vysledne casy s exists v tomto pripade lepsi nedostanu. A ani v sqlite ne. viz: orde from detail ---- -------------- ---------- 0 0 TABLE foo vs. orde from detail ---- -------------- ---------- 0 0 TABLE foo 0 0 TABLE foo > Jinak jsem jenom hloupý chlapec, který optimalizuje databáze a už si > jakožto databázový administrátor vydělal nějaký ten peníz optimalizací > databází do vysokých zátěží. chtel jsem byt politicky korektni a citaci odmazat, ale nemohu si pomoci: "kvaky, kvaky, kvaky. Znal jsem tolik zaslouzilych guruu, a jejich systemy ryly tlamou v zemi..." zdar a silu petr vanek, ten ktery jeste nikdy nevidel databazi, ani tu nejmensi v okrese ;) _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
