Как реализовать хранение картинок в xfields MySQL движке DLE?
День добрый!
Хотел узнать, как вы относитесь к стандартной БД у движка DLE? Т.е. я имею ввиду то, что там десятки дополнительных полей хранятся в одном поле xfields (разделены ||, тип text). Скажите, пожалуйста, это плохо для больших проектов? Стоит ли выносить доп. поля в отдельные поля БД?
Например, сейчас я храню десятки картинок в доп. Поле images, также там еще десяток полей, как вы считаете, стоит ли вынести его в отдельное поле? Будет ли это лучше, если да, то чем?
Зависит от задачи
Из минусов могу отметить
1. Отсутствие проверки типов данных на уровне бд для каждого значения
2. Отсутствие ограничения значений на уровне бд
3. Отсутствие сортировки
4. Выборка избыточных данных
5. Если большой проект = высоко нагруженный, то хранение картинок в mysql плохая идея. Если нет, то в этом есть свои плюсы.
6. Длина поля ограничена
@Sander_Li Спасибо за ответ, очень интересно. Но все же, не могу определиться. Что касается скорости, где будет быстрее? Там, как бы обычная киношка, к примеру КиноПоиск, есть т.е. раздел с кадрами для фильмов, там до 90 кадров к фильму. Сейчас это все хранится в доп.поле
@Ayk72 Если при любом запросе нужны все эти кадры и в будущем архитектуру менять не придется, вероятно текущий вариант будет быстрее. (т.е. выборка выполняется по id) В MySQL можно было бы хранить в отдельной табличке кадры, с foreign_key на сам фильм. Такая структура даст больше возможностей. Если задача стоит просто ускорить все это дело, советую также посмотреть в сторону ANALYZE TABLE и EXPLAIN. MySQL подскажет.