Portál AbcLinuxu, 10. května 2025 12:17

Dotaz: [best practise] Pouziti VIEW v databazi

21.6.2011 14:04 David Sedláček | skóre: 20 | Žďár nad Sázavou
[best practise] Pouziti VIEW v databazi
Přečteno: 411×
Odpovědět | Admin
Ahoj, chci se zeptat na jiny nazor.. Priklad - mam nejaka data v DB, chci je zobrazit v aplikaci v record listu a nad nim i pripadne pak filtrovat. Je dobre tohle resit sestavenim VIEW ke konkretnimu record listu a nad nim filtrovat? Jde mi o to, jestli treba az budu mit dejme tomu 1000-10000 zaznamu, jestli to nebude mit vliv na vykon pri vyuziti VIEWs a filtrovani oproti komplet sestaveni SELECTu.

Ted mam VIEW (nad vice tabulkami), v aplikaci pak jednoduse SELECTnu VIEW a pokud potrebuju, tak sestavim WHERE podminku - kde mam diky pouziti VIEW unikatne pojmenovany kazdy sloupec. Prijde mi to jako idealni reseni, az na ten vykon, kterym si nejsem moc jisty.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

okbob avatar 21.6.2011 14:42 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Odpovědět | | Sbalit | Link | Blokovat | Admin
No ono hodně záleží, co máte za databázi?

21.6.2011 14:43 David Sedláček | skóre: 20 | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
MySQL 5, InnoDB uloziste
okbob avatar 21.6.2011 14:52 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
U jednoduchých dotazů byste problémy mít nemusel - u složitějších ano, MySQL špatně optimalizuje dotazy obsahující pohledy. Snad je to opravené v MySQL 5.5, ale nemám žádné zprávy.
21.6.2011 14:49 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Views by v rozumné db neměly nijak zpomalovat, při vyhledávání se použije index nad původníma tabulkama pokud je to možné. 10k řádků navíc není žádná zátěž kde by se to muselo nějak moc řešit. Dělal bych si s tím starost až když by aplikace šlapala pomalu.
In Ada the typical infinite loop would normally be terminated by detonation.
21.6.2011 14:53 David Sedláček | skóre: 20 | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Tak to zni dobre. Bal jsem se, ze treba ta prace s VIEWs probiha ve stylu vnorenych dotazu-> ze se prvne "vysype" komplet VIEW a pak az se na ty data aplikuje omezujici podminka...
okbob avatar 21.6.2011 14:54 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Bohužel v MySQL to tak může být
21.6.2011 19:57 David Sedláček | skóre: 20 | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
V tom pripade to proveri cas :// Nemuzu si dovolit zmenit uloziste, hlavne z duvodu kompatibility.

Kazdopadne rad uvitam nejake "lepsi" reseni toho, co jsem tu nastinil, pokud neco existuje.
21.6.2011 20:36 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Těch 10-10000 záznamů tolik není, to by měl zvládnout i view. Na druhou stranu není problém mít sloupce pojmenované tabulka.sloupec a řešit where nad celým dotazem. Nebál bych se ani si napsat něco, co ti ten složitej select v aplikaci samo poskládá: když víš jak se ty dotazy skládaj a máš rozumně navrženou db, není výsledek o nic horší, než dotazy poskládaný růčo.
okbob avatar 21.6.2011 23:57 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: [best pracise] Pouziti VIEW v databazi
Snad by to mělo být v nové verzi MySQL opravené - a pokud pracujete se desítkama tisíc řádků. tak to utlučete hardwarem.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.