2016-08-17 2 views
1

Le nom de fichier est-il stocké dans varchartype de données colonne bon? Existe-t-il un autre moyen de gérer les fichiers pour votre logiciel, comme la création d'un dossier par Id numérique et simplement vérifier si un fichier existe dans le dossier dans votre logique d'application?Le nom de fichier dans la colonne de type de données varchar est-il bon?

Merci!

+4

Les noms de fichiers sont des chaînes et doivent être stocké en tant que tel. –

Répondre

1

Je suggère que le nom du fichier soit varchar.

Avoir un id numérique est une bonne pratique généralement pour les performances dans mysql. Par exemple, int taille maximale est octets. Mais varchar taille maximale va jusqu'à 9-12 octets. Varchar utilise également différents jeux de caractères comme utf etc, c'est pourquoi (pour d'autres raisons) il prend plus de place.

Si le varchar sera de 20 caractères, et l'int est 4, alors si vous utilisez un int, votre index aura cinq fois plus de nœuds par page espace d'index sur le disque ... Ce qui signifie que traverser l'index nécessitera un cinquième de lectures physiques et/ou logiques de l'ordre de .

Ce genre de deux dépend de votre longueur de id numérique et nom longueur char. Et aussi, avoir un identifiant numérique pourrait compliquer un peu la situation pour vous. Parce que même des changements mineurs dans les valeurs numériques peuvent changer les noms de fichiers, ou changer dans les noms de fichiers peut également changer les valeurs numériques.

Et aussi, rappelez-vous que vous devriez écrire un script ou faire quelque chose quand vous entrez un nouveau nom de fichier. Quelque chose doit convertir le nom de fichier en identifiant numérique. Si les noms de fichiers restent toujours identiques, un identifiant numérique peut être une bonne option.

Enfin, je dirais que tout dépend de votre application, la taille de la table (pas de lignes), longueur du nom de fichier, longueur id numérique, etc.