Я вставил некоторые цифры как INT UNSIGNED в базу данных MySQL. Я выполняю поиск по этому столбцу, используя «SELECT. Tablename, ГДЕ НРАВИТСЯ 'B”. Я сталкиваюсь с некоторыми числовыми форматами, которые либо слишком длинны для целого числа без знака, либо содержат тире, например 123-456-789.
Какие есть хорошие варианты для модификации таблицы здесь? Я вижу два варианта (есть другие?):
Создайте еще один столбец (VARCHAR (50)) для хранения чисел с тире. Когда поисковый запрос обнаруживает числа с тире, посмотрите в этом новом столбце.
Создайте таблицу заново, используя VARCHAR (50) вместо целого числа без знака для данного столбца.
Я не уверен, какой путь лучше с точки зрения (а) структуры базы данных и (б) скорости поиска. Я хотел бы получить некоторую информацию по этому вопросу. Спасибо.
Обновление: думаю, мне следовало добавить больше информации.
Это порядковые номера. Цифры без тире предназначены для одного магазина (A), а цифры с тире - для Amazon (B; 13 или 14 цифр, я думаю, с двумя штрихами). Номера заказов А должны быть сортируемыми. Я не уверен, должен ли B быть, потому что числа действительно ничего для меня не значат (просто уникальное число).
Если я удалю тире и соберу их все вместе как big int, будет ли какое-либо снижение производительности в поисковых запросах?