|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
Привет Такой вопрос, у нас штрихкоды товара состоят из двух частей 100174-200145 Артикул-Серия Вот вопрос, как лучше в базе хранить Одно поле barcode - varchar 13 Либо два поля int article и serial Когда будут сотни тысяч товаров, что будет оптимальней? Благодарю ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 08:18 |
|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
Ответ зависит от того, что с этим будет делаться. Вряд ли только хранить. Наверное, поиск, сортировка... а, значит, встречный вопрос - какого типа поиск (типичные типы запросов и выражения для фильтрации)? какая именно сортировка (типичные выражения сортировки)? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 08:29 |
|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
Для штрихкода товара, имхо, нужен varchar. Рано или поздно или формат изменится, или буквы появятся, или еще что-то произойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 08:47 |
|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
miksoftРано или поздно или формат изменитсяФормат BarCode по определению измениться не может. Его, кстати, вообще можно хранить в BIGINT (многие так собсно и делают). А вот добавление - скажем, QR, - да, возможно... но при таком расширении разумнее думать либо о дополнительном поле, либо о, скажем, BLOB. Но опять всё упирается в список операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 09:03 |
|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
Штрихкод товара = Серийный номер товара = Артикул - Серия Цифры-Цифры Что делаем? В основном выбираем данные типа where article= and serial= Ну JOIN по этим полям строим. Во всех таблицах Primary Key (article,serial) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 11:11 |
|
Одно varchar поле либо два int?
|
|||
---|---|---|---|
#18+
urt.dreВ основном выбираем данные типа where article= and serial=То есть выбираете строго одно значение, одну запись? И если JOIN - то строго по этой паре, не бывает, скажем, JOIN только по артикулу? Если так - я бы хранил как одно поле BIGINT. Иначе - как два INT. Кстати, числовые типы - это дополнительный контроль отсутствия нецифровых символов на случай ручного ввода или пакетного ввода внешних данных при отсутствии гарантий непротиворечивости. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 11:32 |
|
|
start [/forum/topic.php?fid=47&fpage=40&tid=1829341]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 404ms |
0 / 0 |