Bol som blúdiť, čo je najlepší dizajn pre databázu aplikácie, v ktorej musím ukladať veľa záznamov s blob asociovaných (One to one) k nim.
Je lepšie použiť samostatnú tabuľku pre guľôčky?
Moja aplikácia sa spolieha na MySQL a Hibernate.
odpovede:
2 pre odpoveď č. 1Použitie samostatnej tabuľky by bolo lepšie vdlhá priečka, najmä ak máte veľa blobov. Ide o to, že keď ich máte v tabuľke spolu s inými poľami, táto tabuľka bude trvať dlhšie, kým sa prestavajú alebo zmenia všetky guľôčky v nich. Táto tabuľka by bola oveľa rýchlejšia keď len odkazujete na blob.
Snažil som sa o podporu tohto vyhlásenia a zistil som, že toto zdĺhavé, ale zaujímavé čítanie: http://mysqldatabaseadministration.blogspot.com/2008/01/i-will-not-blob.html
0 pre odpoveď č. 2
Vaša voľba by mala závisieť od množstva údajov a transakcií, Ak je množstvo BLOB
údaje sú menšie (napr. počet súborov je menší ako 10000), môžete postupovať podľa týchto krokov, inak to môže byť hrdlo fľaše. článok.
Is it better to use a separate table for blobs?
Myslel si one table
so všetkými stĺpcami ako BLOB
typu.Nemyslím si, že je to dobrý nápad.
What to do then?
BLOB
je jedným z mnohých typov dát dostupných v SQL. Váš návrh databázy by nemal byť závislý na datatype you use
, Povedzte, že chcete uložiť Detaily používateľa vrátane obrazu používateľa. Cítim, že by tam mal byť stĺpec User
stôl usrImage
uložiť obrázok s typom BLOB
, Nezáleží na tom, či používam BLOB
alebo by som aj naďalej mal User
stôl.
BLOB
sú podobné akémukoľvek inému dátovému typu, tak ich pripojte tam, kde sa zmestia do vášho návrhu DB.