Я работаю тоннами телефонных номеров, и многие из них являются международными.
Я изменил структуру таблицы телефонных номеров на 5 столбцов:
`phonenumbers`.`phoneID`
`phonenumbers`.`countrycode`
`phonenumbers`.`areacode`
`phonenumbers`.`phonenumber`
`phonenumbers`.`ext`
На данный момент phoneID является единственным столбцом, который является INT, поскольку это первичный ключ.
Должен ли я изменить другие столбцы на целые числа? Я слышал, что индексы лучше всего работают с числовыми значениями, и я храню только числа в каждом из столбцов (без черточек, скобок, пробелов и т. Д.)
Я все еще изучаю, как MySQL работает с индексами, поэтому мне любопытно, как другие работают с поиском чисел. В этом случае, я уверен, что я буду искать числа, которые начинаются с определенного известного areacode
и части известного phonenumber
или целого phonenumber
.
То, что меня привлекает при индексировании и столбцах таблиц, таких как номера телефонов, заключается в том, что я не всегда знаю, как долго будет phonenumber
. Поскольку страны имеют разную длину для ареакодов и телефонных номеров.
Таким образом, индексирование INT и VARCHAR с помощью чисел.