Секционное хранение статьи в базе данных — проблемы производительности?

Создаю блог и столкнулся с вопросом хранения публикаций.

Публикации разделены на секции, фигуры (картинки с подписями, видео, аудио), списки, ... И каждая из секций имеет заголовок, а возле этого заголовка нужно выводить статический системный код (добавление секции в закладки).

Я выбирал между 3 вариантами: хранение html кода прямо в строке записи таблицы article - разбор по regex и разбор по DOMDocument; хранение статьи в отдельных таблицах: section FK article, paragraph FK section, figure FK section.

Я выбрал последний вариант.

Соответственно, я могу как угодно оформлять секции (на данный момент выбрал тег section), что угодно добавлять возле заголовков, добавлять кнопку "читать далее" к последнему абзацу и так далее. То-есть, в базе содержится только важная читабельная информация, а все форматирование возлагается на сторону PHP.

1. Насколько ущербная в плане производительности выборка по данной архитектуре?
2. Что лучше: выборка сначала секций к статье, потом абзацев и фигур к секции отдельными запросами или все одним запросом с последующим FULL OUTER JOIN и группировкой по позиции в статье?
  • Вопрос задан
  • 2397 просмотров
Пригласить эксперта
Ответы на вопрос 2
@whats
непонятно что у вас не группируется, сейчас подойдут экстрасенсы. Будем думать что у вас за запрос к базе идет, и что значит колонка дублируется. Дайте нам минут 10 и мы вам поможем
Ответ написан
Комментировать
vipuhoff
@vipuhoff
Из того "что получить в итоге" видно, что обе таблицы можно элементарно слить в 1, но с 3 столбцами, тогда твоя проблема решается поумолчанию+экономия памяти, места на диске и производительность (т.к. записи будут "рядом")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы