mysql хранение

hYPER-ok
На сайте с 09.10.2010
Offline
71
582

Все привет!

Ребят, как лучше хранить кaчeство видеозаписи? Чтобы можно было потом сортировать, селектить, ну все как надо?

Варики:

1. на каждое кaчeство по столбцу с tinyint 1

2. хранить через запятую (1,2,4) и потом регекспом брать

3. отдельную таблицу, но это мне кажется - ппц

Спасибо!

IL
На сайте с 20.04.2007
Offline
435
#1
hYPER-ok:
и потом регекспом брать
hYPER-ok:
было потом сортировать

На большом количестве записей будет "не айс"..

hYPER-ok:
1. на каждое кaчeство по столбцу с tinyint 1

Если речь о том, что для одной записи может быть несколько "качеств" (видимо, разрешение в формате XXXxYYY), то "по букварю" - это связь многие ко многим через отдельную таблицу (id_video, id_quality), при этом варианты "качеств" - в отдельной таблице.

Для желающих сэкономить - если количество различных "качеств" условно-постоянное и разных вариантов не будет, например, больше 8, 16 (или 32), то можно выделить 1 столбец, в котором каждый установленный в 1 бит будет означать наличие видео в данном качестве...

т.е. (к примеру, 1 - 200х300, 2 - 300х400, 4 - 400х500)

00000101 - есть 200х300 и 400х500 (а значение в столбце = 5)

При выборке можно пользоваться побитовыми операторами ( 5 & 4 = 4)

Насколько удобен такой подход.. не скажу..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
hYPER-ok
На сайте с 09.10.2010
Offline
71
#2

Будут: 1080, 720, 480, 360, 240 и 100 😂

Вот и я думаю - мэни-ту-мэни щитоль.

Не, ну, базара без, можно и битовым представлением, но это хардкор.

LEOnidUKG
На сайте с 25.11.2006
Offline
1752
#3

Если это постоянное:

1080, 720, 480, 360, 240 и 100

То сделайте tinyint

Если же будет больше или их нужно менять, то отдельные таблицы. Сильно их разносить будете или нет, уж решайте сами.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
dimidrol
На сайте с 29.09.2005
Offline
191
#4

Задам вопрос в этом топике

Есть таблица и в ней поле tinyint(1). Как в один запрос update заменять значения (0->1->0->1->0->1....)

Спасибо.

Иногда полезно проигрывать - это держит тебя в тонусе... Мне так рассказывали (с) Shark Покупаю сайты (стройка/отделка/стройматериалы) по адекватной цене. Предложения в личку. Траф - обязателен
dkameleon
На сайте с 09.12.2005
Offline
386
#5
dimidrol:
Есть таблица и в ней поле tinyint(1). Как в один запрос update заменять значения (0->1->0->1->0->1....)

update users set count = 1 - count;

Дизайн интерьера (http://balabukha.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий