Lägg den i databasen, men BLOB
datatype kommer förmodligen inte att klippa det. MEDIUMBLOB
är normalt tillräckligt.
BLOB, TEXT L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT L + 4 bytes, where L < 232
Jag har använt detta flera gånger med mycket bra resultat. Se till att spara filstorleken också, eftersom det gör det lättare att hämta den. Inte säker på om det gäller C# som det gör för PHP.
Om du använder förberedda satser med parametrar kommer data automatiskt att escapes AFAIK.
Jag kan inte heller se någon riktig anledning till varför själva databasen skulle bli långsam när man lagrar den här typen av data i den. Den huvudsakliga flaskhalsen kommer naturligtvis att vara överföringen av data. Även MySQL är ibland restriktivt när det gäller den maximala längden på frågor och svaren i synnerhet.
När du väl har kört det är det ganska snyggt, speciellt när du har att göra med många små filer. För ett litet antal stora filer är det här tillvägagångssättet inte meningsfullt, använd bättre säkerhetskopieringssystem för att hantera flyttade/borttagna filer.