Type de données Mysql pour US Zip (codes postaux)
Je suis en train d'écrire une application web, c'est à NOUS de spécifique, de sorte que le format que d'autres pays utilisent pour les codes postaux ne sont pas importants. J'ai une liste des codes postaux que je suis en train de charger dans une table de base de données qui comprend la
- 5 chiffres code postal américain
- latitude
- longitude
- usps code de classification
- code de l'état
- ville
le code postal est la clé primaire comme c'est ce que je vais être d'interroger. j'ai commencé à utiliser une moyenne de 5 int mais qui tronque les codes postaux qui ont des zéros.
j'ai considéré en utilisant un char5, mais je suis préoccupé par l'impact sur les performances de l'indexation à l'encontre d'une variable char.
donc ma question est quel est le meilleur type de données mysql pour stocker les codes postaux?
Note: je l'ai vu dans plusieurs autres questions liées aux codes postaux. Je ne m'intéresse qu'à NOUS de 5 chiffres code postal. Donc, il n'est pas nécessaire de prendre d'autres pays code postal formats en considération.
source d'informationauteur gsueagle2008
Vous devez vous connecter pour publier un commentaire.
char(5) est la bonne façon de procéder. Chaîne de l'indexation est assez rapide, surtout quand c'est un petit jeu de données.
Vous avez raison, vous ne devez jamais utiliser un nombre entier de code postal, car il n'est pas vraiment de données numériques.
Modifier pour ajouter:
Découvrez ce pour de bonnes raisons pourquoi vous n'utilisez pas de chiffres pour les non-numériquement les données importantes:
Est-ce une bonne idée d'utiliser une colonne de type integer pour le stockage de NOUS des codes postaux dans une base de données?
aller avec votre médium INT(5) zerofill ne, il faut ajouter les zéros non significatifs pour vous. Pas besoin d'avoir un impact de l'index et de la performance sur un problème de mise en forme.
Si il le fait Char(6), alors il peut gérer des codes postaux Canadiens.
Quand vous considérez qu'il y est un maximum de 100 000 Code Postal à 5 chiffres et le peu d'espace qu'il prendrait même si vous avez fait l'ensemble de la table résident en mémoire, il n'y a aucune raison de ne pas.