Domanda

Sto scrivendo un'applicazione web, cioè Stati Uniti specifica, in modo che il formato che altri paesi usano per i codici postali non sono importanti. Ho una lista dei codici di avviamento postale degli Stati Uniti che sto provando a caricare in una tabella di database che include il

  • 5 cifre, US zip code
  • latitudine
  • longitudine
  • codice di classificazione USPS
  • codice di stato
  • città

il codice postale è la chiave primaria in quanto è quello che sarà l'esecuzione di query contro. Ho iniziato ad usare un mezzo int 5 ma che tronca i codici di avviamento postale che hanno zeri iniziali.

ho considerato utilizzando un char5 ma sono preoccupato per il calo di prestazioni di indicizzazione contro una variabile di tipo char.

quindi la mia domanda è: qual è il miglior tipo di dati MySQL per memorizzare codici di avviamento postale, come?

Nota: L'ho visto in diverse altre questioni relative ai codici di avviamento postale. Sono interessato solo negli Stati Uniti codici di avviamento postale a 5 cifre. Quindi non v'è alcuna necessità di prendere altri paesi formati di codice postale in considerazione.

È stato utile?

Soluzione

char (5) è il modo corretto di andare. Stringa indicizzazione è abbastanza veloce, in particolare quando si tratta di una serie limitata di dati.

Sei corretta in quanto si dovrebbe mai usare un numero intero per un codice postale, dato che non è realmente i dati numerici.

Modifica per aggiungere: Dai un'occhiata a questo per buone ragioni per cui non si usa i numeri per i dati non numericamente importante: E 'una buona idea di utilizzare una colonna integer per la memorizzazione di codici di avviamento postale degli Stati Uniti in un database?

Altri suggerimenti

andare con il vostro media INT (5) ZEROFILL, si dovrebbe aggiungere gli zeri iniziali per voi. Non c'è bisogno di impatto l'indice e le prestazioni su un problema di formattazione.

Se lo fa Char (6), poi in grado di gestire i codici postali canadesi pure.

Se si considera che c'è un massimo di 100.000 5 cifre del codice di avviamento postale e quanto poco spazio ci sarebbe voluto fino anche se hai fatto la residente in memoria intera tabella, non c'è alcun motivo per non farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top