Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Одно varchar поле либо два int? / 6 сообщений из 6, страница 1 из 1
29.01.2019, 08:18
    #39766281
urt.dre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
Привет

Такой вопрос, у нас штрихкоды товара состоят из двух частей
100174-200145
Артикул-Серия

Вот вопрос, как лучше в базе хранить
Одно поле barcode - varchar 13
Либо два поля int article и serial

Когда будут сотни тысяч товаров, что будет оптимальней?
Благодарю
...
Рейтинг: 0 / 0
29.01.2019, 08:29
    #39766284
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
Ответ зависит от того, что с этим будет делаться. Вряд ли только хранить. Наверное, поиск, сортировка... а, значит, встречный вопрос - какого типа поиск (типичные типы запросов и выражения для фильтрации)? какая именно сортировка (типичные выражения сортировки)?
...
Рейтинг: 0 / 0
29.01.2019, 08:47
    #39766292
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
Для штрихкода товара, имхо, нужен varchar. Рано или поздно или формат изменится, или буквы появятся, или еще что-то произойдет.
...
Рейтинг: 0 / 0
29.01.2019, 09:03
    #39766295
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
miksoftРано или поздно или формат изменитсяФормат BarCode по определению измениться не может. Его, кстати, вообще можно хранить в BIGINT (многие так собсно и делают). А вот добавление - скажем, QR, - да, возможно... но при таком расширении разумнее думать либо о дополнительном поле, либо о, скажем, BLOB. Но опять всё упирается в список операций.
...
Рейтинг: 0 / 0
29.01.2019, 11:11
    #39766365
urt.dre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
Штрихкод товара = Серийный номер товара = Артикул - Серия
Цифры-Цифры

Что делаем? В основном выбираем данные типа where article= and serial=
Ну JOIN по этим полям строим.
Во всех таблицах Primary Key (article,serial)
...
Рейтинг: 0 / 0
29.01.2019, 11:32
    #39766379
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно varchar поле либо два int?
urt.dreВ основном выбираем данные типа where article= and serial=То есть выбираете строго одно значение, одну запись? И если JOIN - то строго по этой паре, не бывает, скажем, JOIN только по артикулу?

Если так - я бы хранил как одно поле BIGINT. Иначе - как два INT.

Кстати, числовые типы - это дополнительный контроль отсутствия нецифровых символов на случай ручного ввода или пакетного ввода внешних данных при отсутствии гарантий непротиворечивости.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Одно varchar поле либо два int? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]