Autor Zpráva
redz
Profil *
Zdravim,

mam nekolik dotazu na mysql, resp. pohledy (views). Pokud jsem to dobre pochopil, tak tyto typy tabulek jsou staticke.

Jsou staticke takovym zpusobem, ze ve chvili kdy updatuju tabulku, ze ktere tabulka view vychazi, zustane puvodni tabulka view zachovana nebo se automaticky updatuje?
Kajman_
Profil *
To co popisujete bývá většinou materializované view, ale to mysql asi nepodporuje. Data by měla být vždy čerstvá. View popisuje pohled na data uložená jinde, když se změní, bude jiný výsledek pohledu.
redz
Profil *
Kajman_: nemas nejakou zkusenost s view v mysql? Zajima me hlavne "performance", cetl jsem na ruznych forech - blocich, ze je lepsi radeji mit spojeni tri tabulek nez view. Zda se mi to trochu prehnane...

Vim z Oraclu, ze view je opravdu mocna zbran, je fakt, ze zas tolik tabulek nemam, ale na druhou stranu muj dotaz, ktery se ma tykat 5 tabulek...mno nevim :)

jinak diky za opoved na predchozi dotaz :)
Kajman_
Profil *
cetl jsem na ruznych forech - blocich, ze je lepsi radeji mit spojeni tri tabulek nez view

Já četl v knize "Mysql Oficiální průvodce tvorbou, správou a laděním databází", že je lepší dobře udělat view, pokud se to spojení více používá (např. více vývojářů). Z výkonu by to mělo být naprosto totožné jako dobře udělaný samostatný join 5 tabulek. Odpadá však nutnost znovu ladit ten join (více aplikací, více programátorů) nebo omezovat výběr sloupečků, pokud ho omezí už view.

Osobně s tím žádné zkušenosti nemám. Můžete si zkusit explain, jestli tam bude nějaký rozdíl.
redz
Profil *
Kajman_: diky za tip, snad to v knihkupectvi budou mit :)
lukas87
Profil *
nematerializovaný view se dá představit jako uložený sql dotaz, když view zavoláš dotaz se provede. Žádná tabulka uložená v databázi navíc není. a taky myslím že materializovaný view mysql neumí, už sem nad tím bádal když sem chtěl něco urychlit...
redz
Profil *
lukas87: diky za vysvetleni, ted uz zacinam chapat, proc testovani na tech blocich dopadalo hur s selectem z view, nez kdyz ty tabulky spojovali.

Zacina to vypada, ze mysql pro me neni to prave orechove.
Kajman_
Profil *
ted uz zacinam chapat, proc testovani na tech blocich dopadalo hur s selectem z view

Čím to tedy bylo? U merge přístupu se to jen přepíše na spojení, takže leda by to zpomalila tato operace, což pochybuji. Nebo měřili druh view, které se tvoří jako temptable?
http://dev.mysql.com/doc/refman/5.0/en/view-algorithms.html

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0