Mysql Datatype для US Zip (почтовые коды)
Я пишу веб-приложение, специфичное для США, поэтому формат, который другие страны используют для почтовых кодов, не важен. У меня есть список почтовых индексов, которые я пытаюсь загрузить в таблицу базы данных, которая включает
- 5 цифр нам почтовый индекс
- широта
- долготы
- классификационный код usps
- код состояния
- город
почтовый индекс является первичным ключом, так как это то, к чему я буду обращаться. я начал использовать среду int 5, но усекаю zip-коды, имеющие начальные нули.
я рассмотрел использование char5, но меня беспокоит повышение производительности индексации по переменной char.
поэтому мой вопрос - это то, что является лучшим типом данных mysql для хранения почтовых индексов как?
Примечание. Я видел это в нескольких других вопросах, связанных с почтовыми индексами. Меня интересуют только 5-значные почтовые индексы США. Поэтому нет необходимости принимать во внимание форматирование почтовых индексов других стран.
Ответы
Ответ 1
char (5) - правильный путь. Индексирование строк довольно быстро, особенно когда это такой небольшой набор данных.
Вы правы в том, что никогда не должны использовать целое число для почтового индекса, так как это не действительно числовые данные.
Изменить для добавления:
Проверьте это по уважительным причинам, почему вы не используете номера для нечетно важных данных:
Полезно ли использовать целочисленный столбец для хранения почтовых индексов США в базе данных?
Ответ 2
идите со своим средним INT (5) ZEROFILL, он должен добавить для вас основные нули. Не нужно влиять на индекс и производительность по проблеме форматирования.
Ответ 3
Если он делает это Char (6), он также может обрабатывать канадские почтовые коды.
Если вы считаете, что существует не более 100 000 5-значных почтовых индексов и сколько места потребуется, даже если вы сделали всю резидентную память таблицы, нет причин не делать этого.