Databáze > Obecné

Distinct - vylúčený pomocou DB tabuľky

(1/1)

Stanislav Hruška:
Rád by som vedel Váš názor. Veľmi často bojujem s DISTINCT, len kvôli tomu, že nemôžem vytvoriť dokonalú väzbu medzi dvoma tabuľkami. Tak som si pomyslel, že bude lepšie vytvoriť jednu tabuľku, kde budú údaje z tých dvoch kritických tabuliek. Síce pomocou DISTINCT, ale len RAZ. Jej používaním predpokladám

* ostatné SQL bez DISTINCT
* zjednodušenie samotných SQL
* zrýchlenie zložitého výpočtu s "veľa" SQL so subselectmiTá denormalizácia podľa mňa stojí zato. Používa sa také riešenie? Neviem ináč zmeniť návrh DB tak, aby som ten problém vyriešil.

pf1957:
Stano, co delas se svymi prispevky, ze ja cas od casu dostanu od tebe do RSS ctecky (Thunderbird) neco necitelneho jako je na pribalenem obrazku?

pf1957:

--- Citace: Stanislav Hruška  23-12-2017, 13:48:48 ---Tá denormalizácia podľa mňa stojí zato. Používa sa také riešenie? Neviem ináč zmeniť návrh DB tak, aby som ten problém vyriešil.

--- Konce citace ---
No denormalizace se vetsinou pouziva, kdyz to sice funguje, ale vykon je mizerny: v algoritmech obecne existuji dva extremy: jen optimalizovany na cas a druhy optimalizovany na pamet a pak hafo kompromisu mezi nimi. A denormalizace je krokem ke zrychleni na ukor plytvani pameti.

Zkousel jsi se toho distinct zbavit presnejsimi joiny? Nekdy to pomuze napr.

--- Kód: SQL ---JOIN yyy y ON ....JOIN xxx x ON x.a=y.b AND x.c=y.d AND x.e=y.f ... Nejblbeji se mi toho vzdycky zbavovalo ve vicenasobnych vazbach m:n napr. fyzicka konfigurace, logicka konfigurace, data ...

Stanislav Hruška:

--- Citace ---Stano, co delas se svymi prispevky, ze ja cas od casu dostanu od tebe do RSS ctecky (Thunderbird) neco necitelneho jako je na pribalenem obrazku?
--- Konce citace ---
Ja nič. V editačnom okne to mám v poriadku. Pošlem to a výsledok si tu dal. Ja to okamžite opravujem. Ale Ty to už máš :( 
Prihodí mi tam hlavne tag size. Hlavne ak tam niečo skopírujem. Sám od seba. Ja som už na to pýtal a povedali ste, že chyba je na mojej strane. Ale kde, keď mi to robí na PC aj NB?

--- Citace ---Zkousel jsi se toho distinct zbavit presnejsimi joiny?
--- Konce citace ---
Nedá sa. Stav je nasledujúci:

* Mám tabuľku predpisov s FKServiceParameters
* Mám tabuľku Subaccounts s príznakom IsSubaccount + väzobnú tabuľku na byty M:N. Podúčty sú na sledovanie/rozpočítanie nákladov podľa užívateľa
* Mám tabuľku faktúr, kde užívateľ zadá FKServiceParameters a FKSubaccountsA problém je na svete. Neexistuje tu žiadna logika prepojenia tabuliek. Každý podúčet sa vždy odkazuje na všetky byty.
Príklad: mám 4 vchody/podúčty. Služba by sa mala vypísať len prvý vchod, ale mne sa vypíše pre všetky štyri. Viac a jednoducho napovie obrázok.

Navigace

[0] Seznam témat

Odpověď

Přejít na plnou verzi