Förslag hur man på ett propert sätt lagra filer i en databas?

Permalänk

Förslag hur man på ett propert sätt lagra filer i en databas?

Jag använder MySQL och jag vill lagra filer t.ex. minFil.txt i en databas.
Att skapa en kolumn som har en datatyp som tar mycket minne låter lite dumt för oavsett vad jag lagrar, så är kolumnens minne fixerad.

Finns det ett bättre sätt att lagra filer i en MySQL databas?
Eller det kanske finns bättre SQL databaser som kan hantera detta?

Permalänk
Avstängd

Varför ska du lagra filer i en databas?

Permalänk
Hedersmedlem

BLOB-typen är ju till för detta, men som sagt bör man kanske överväga om det verkligen är den bästa lösningen. Jättestora databaser är sällan roliga att jobba med.

Permalänk
Medlem

Det finns ju datatyper i MySQL (och många andra databaser) som har variabel längd.
Titta på BLOB (Binary Large Object) i MySQL. Den eller varianten LONGBLOB är nog vad du letar efter - om du nu faktiskt måste lagra filer i databasen.

Permalänk
Skrivet av snajk:

Varför ska du lagra filer i en databas?

Jag vet inte hur man på ett snart sätt lagra filer.

Skrivet av Elgot:

BLOB-typen är ju till för detta, men som sagt bör man kanske överväga om det verkligen är den bästa lösningen. Jättestora databaser är sällan roliga att jobba med.

Vad skulle du rekommendera? En länk till filen?

Skrivet av Erik_T:

Det finns ju datatyper i MySQL (och många andra databaser) som har variabel längd.
Titta på BLOB (Binary Large Object) i MySQL. Den eller varianten LONGBLOB är nog vad du letar efter - om du nu faktiskt måste lagra filer i databasen.

Vad rekommenderar du?

Permalänk
Medlem
Skrivet av heretic16:

Jag vet inte hur man på ett snart sätt lagra filer.

Vad skulle du rekommendera? En länk till filen?

Vad rekommenderar du?

Lagra filnamnet. Sen läser du filerna direkt från filsystemet istället. Det beror lite på vad du försöker åstadkomma.

Visa signatur

DAN Cases A4-SFX | AMD Ryzen 7 9800X3D | Thermalright AXP90-X47 Full Copper |
INNO3D GeForce RTX 4070 Ti SUPER 16GB Twin X2 | Kingston 32GB (2x16GB) DDR5 6000MHz CL30 | ASUS ROG Strix B650E-I Gaming WIFI | Samsung 960 EVO 1TB | Corsair SF-600

Permalänk
Hedersmedlem
Skrivet av heretic16:

Vad skulle du rekommendera? En länk till filen?

Om man inte har en bra anledning att välja något annat är det ett rätt praktiskt alternativ. Nackdelen är att någon kan ändra filen utan att uppdatera databasen, men det är kanske inte ett jättestort problem.

Permalänk
Skrivet av Elgot:

Om man inte har en bra anledning att välja något annat är det ett rätt praktiskt alternativ. Nackdelen är att någon kan ändra filen utan att uppdatera databasen, men det är kanske inte ett jättestort problem.

Då gör jag så! En länk till filen.