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

stocker TEXT/BLOB dans la même table ou non ?

Mise à jour :Barracuda est le format de fichier InnoDB par défaut depuis la version 5.7.

S'il est disponible sur votre version de MySQL, utilisez le format de fichier InnoDB Barracuda en utilisant

innodb_file_format=barracuda

dans votre configuration MySQL et configurez vos tables en utilisant ROW_FORMAT=Dynamic (ou Compressed ) pour l'utiliser réellement.

Cela permettra à InnoDB de stocker des BLOB, des TEXT et des VARCHAR plus grands en dehors des pages de lignes, ce qui le rendra beaucoup plus efficace. Voir cet article du blog MySQLperformanceblog.com pour plus d'informations.

Autant que je sache, l'utilisation du format Barracuda rendra le stockage de TEXT/BLOB/VARCHAR dans des tables séparées non plus valide pour des raisons de performances. Cependant, je pense qu'il est toujours bon de garder à l'esprit une bonne normalisation de la base de données.