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

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

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

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

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

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

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


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