7
votes

Type de données pour stocker les URL

Quel est le meilleur type de données pour stocker des URL?

Je dois enregistrer des chemins système de fichiers pour des images dans une base de données.


3 commentaires

Quelle base de données? La limitation varchar peut varier.


Dupliqué possible de Meilleur type de champ de base de données pour une URL


Dupliqué possible de Meilleur type de champ de base de données pour une URL


5 Réponses :


5
votes

varchar est assez assez.

Char doit être utilisé pour stocker des chaînes de caractères de longueur de fixation. Les valeurs de chaîne seront spacieuses / vierges rembourrées avant stockées sur le disque. Si ce type est utilisé pour stocker des chaînes de longueur varibale, elle gaspillera beaucoup d'espace disque.


1 commentaires

Char doit être utilisé pour stocker des chaînes de caractères de longueur de fixation. Les valeurs de chaîne seront spacieuses / vierges rembourrées avant stockées sur le disque. Si ce type est utilisé pour stocker des chaînes de longueur varibale, elle gaspillera beaucoup d'espace disque.



2
votes

varchar . Choisissez une longueur maximale appropriée en fonction de vos connaissances de domaine.


8 commentaires

Désolé pourquoi Varcharne et pas seulement ...


@ Gibbok: Parce que vous perdrez beaucoup d'espace en utilisant char . Contrairement à la taille fixe Type de données , varchar ne stocke pas de caractères vides lorsque la longueur totale du champ n'est pas utilisée.


Parce que le caractère est une longueur fixe et vous perdriez beaucoup d'espace.


Varcharne parce que la DB peut couper de l'espace inutilisé, à moins que toutes vos URL vont avoir la même longueur.


C'est intéressant - un bowvote sept ans plus tard. Cela ne me dérange pas dans le moindre (la nouveauté de Stackoverflow a longtemps porté), mais je serais intéressé à apprendre s'il y a quelque chose de nouveau qui signifie que ma réponse est activement inutile.


Varchar ou Nvarchar?


@ Uzair_07 Nvarchar n'est pas nécessaire, car les caractères acceptables limités d'URI signifie que Unicode n'est pas nécessaire. datatracker.ietf.org/doc/html/rfc3986#ssection data -2/a >


Hmm, merci pour le conseil



6
votes

Les URL sont des chaînes et seront de longues longues variables.

Si votre système de base de données prend en charge cela, utilisez Varchar.


0 commentaires

4
votes

varchar2 (4000) suffit à vos besoins


0 commentaires

3
votes

Nous avons tendance à les sauvegarder sous forme d'urlencode varchar s. (Étant donné que nos URL arrivent à la base de données à partir d'un serveur, nous les codons à l'aide de URLenCode de PHP, puis de les décoder lorsque nous les récupérons avec urldecode .) Ne pensez pas qu'il y ait vraiment beaucoup d'autre qui a besoin de faire - vous pouvez probablement simplement les stocker comme non connecté varchar s.


1 commentaires

Merci Stephen, puis-je vous demander pourquoi il est utile d'encoder des URL dans la base de données?