Вопрос производительности + БД
Друзья, такой вопрос. Как бы вы поступили и почему ?
Суть вот в чем - есть необходимость записывать в БД ссылки до картинок (до 10шт).
Два варианта событий
1 - создать 10 столбцов VARCHAR в базе данных и в них пихать пути до картинок. В PHP обработчике просто перебирать.
2 - создать 1 столбец типа TEXT и записать в них все пути до картинок через запятую, а PHP обработчиком просто разобрать на массив и использовать по своему усмотрению.
Что является более правильным ? Или быть может есть что то лучше ?
Где то слышал, что лучше использовать 1 вариант..якобы быстрее отклик по времени исполнения. Так ли это ?
Ответы (1 шт):
А лучше нормализовать таблицы.
Таблица data_images: id, data_id (первичный ключ к data.id), value
Таблица data: id, ...
Первый вариант плох тем, что если вдруг придётся ещё 10 картинок добавлять - нужно ручками расширять таблицу (горизонтально будет просто много всего одинакового, что плохо для реляционных бд). А если будет ещё больше? Второй вариант вполне подходит, если картинок будет реально немного. Но в PHP разбивать не всегда удобно и правильно.