Portál AbcLinuxu, 11. ledna 2026 08:35


Dotaz: 4 BLOBy v jednom riadku (SQL Server 20)

hermes avatar 20.11.2025 19:35 hermes | skóre: 7 | blog: Elektro | BA
4 BLOBy v jednom riadku (SQL Server 20)
Přečteno: 548×
Odpovědět | Admin

je dobrý nápad vložiť do jedného riadku 4 bloby? Lebo pôvodne som to tam navrhol kôli výkonu. V praxi neni dobré mať príliš veľa relácií medzi tabuľkami. Lenže druhá vec je pamäťová náročnosť. Viem si vyselektovať len niektoré stĺpce ale ajtak nepáči sa mi to. Tu sú tie dáta:

Toto som všetko narval do jednej tabuľky, lenže teraz zistujem že sa s tým dosť krkolomne robí najme keď k DB pristupujem cez ORM. Asi bude lepšie zmeniť to tak že každé Medium bude obsahovať len 1 blob?

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

hermes avatar 20.11.2025 20:28 hermes | skóre: 7 | blog: Elektro | BA
Rozbalit Rozbalit vše Re: 4 BLOBy v jednom riadku (SQL Server 20)
Odpovědět | | Sbalit | Link | Blokovat | Admin
je to nahovno s tou aplikaciou som zatial spokojny ale s managementom medii vôbec.

musim kompletne prerobit tuto cast, v jednom riadku bude len jeden blob. Takto to nemoze byt. Nehovoriac o tom ze tam okrem obrazkov budu aj videa. a ked jednym selectom natiahnem 2x videa a 2x nahlady tak to bude peklo.
20.11.2025 20:48 Kit | skóre: 46 | Brno
Rozbalit Rozbalit vše Re: 4 BLOBy v jednom riadku (SQL Server 20)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dal bych to do čtyř samostatných tabulek, kde primárním klíčem bude cizí klíč hlavní tabulky. Vždy je potřebný jen jeden sloupec, tedy jedná tabulka.

ORM je zlo.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
20.11.2025 20:54 X
Rozbalit Rozbalit vše Re: 4 BLOBy v jednom riadku (SQL Server 20)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nechci do toho kecat, ale neuvazoval jsi, ze je "na hovno" cela ta projektova architektura? Nebude daleko efektivnejsi ukladat soubory primo na disk a v databazi jen cesty? Cache proxy nebude? Jak velke budou sobory? Budou se menit fakt casto?
20.11.2025 21:16 Kit | skóre: 46 | Brno
Rozbalit Rozbalit vše Re: 4 BLOBy v jednom riadku (SQL Server 20)
Souhlasím. Možná má povel shora, že to musí být v databázi.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
5.12.2025 23:32 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: 4 BLOBy v jednom riadku (SQL Server 20)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mít bloby v databázi je v pořádku, pokud člověk zná omezení a nevadí mu. Zda jsou ve více sloupcích nebo ve více tabulkách je samo o sobě jedno, jde spíš o správný návrh celého schématu a správně navržené sql query.

V případě videí je nicméně dost možné, že daná omezení vadit budou. Protože jestli máš videa v blobu a pokud db driver neumí streamovat (nemá APi na streamování nebo se v aplikaci nepoužívá), tak se bude celé video načítat do paměti, než se zpracuje (např. přehraje). Pokud se má video přehrávat, tak nebude pravděpodobně fungovat seekování, ledaže bys ho manuálně implementoval (to nechceš). Data navíc potečou nejspíš všechna přes CPU, takže v porovnání se čtením z disku (kde se může použít nějaká forma DMA) bude i větší zatížení CPU. Shrnuto: Pro videa bych použil disk.
-- OldFrog

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.