Mysql
 sql >> Base de données >  >> RDS >> Mysql

Stocker un fichier PDF dans MySQL

Mettez-le dans la base de données, mais le BLOB le type de données ne le coupera probablement pas. Le MEDIUMBLOB est normalement suffisant.

Types de données MySQL

BLOB, TEXT                L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT    L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT        L + 4 bytes, where L < 232

Je l'ai utilisé plusieurs fois avec de très bons résultats. Assurez-vous également d'enregistrer la taille du fichier, car cela facilite sa récupération. Je ne sais pas si cela s'applique à C# comme à PHP.

Si vous utilisez des instructions préparées avec des paramètres, les données seront automatiquement échappées AFAIK.

De plus, je ne vois aucune raison réelle pour laquelle la base de données elle-même deviendrait lente lors du stockage de ce type de données. Le principal goulot d'étranglement sera bien sûr le transfert des données. Aussi MySQL est parfois restrictif sur la longueur maximale des requêtes et des réponses en particulier.

Une fois que vous l'avez exécuté, c'est plutôt bien, surtout lorsqu'il s'agit de nombreux petits fichiers. Pour un petit nombre de fichiers volumineux, cette approche n'a pas de sens, mieux vaut utiliser un système de sauvegarde pour gérer les fichiers déplacés/supprimés.