Получил довольно простую систему:
Таблица articles
, таблица tags
, таблица article_tags
, содержащая идентификаторы тега и статьи, которой он присвоен.
Когда я хочу получить список всех своих статей и всех их тегов, я должен выполнить несколько GROUP_CONCAT()
запросов, чтобы получить список тегов через запятую, который я могу разбить на части и отобразить.
Загрузка на больших страницах происходит медленнее, и я беспокоюсь, что это не лучший способ сделать это. Я недавно задал вопрос о получении всех статей с определенным тегом, и в итоге я решил найти решение с использованием двойного соединения. Этот запрос выполняется быстро, но для выполнения «общего» запроса (например, получение 10 последних статей вместе со всеми их тегами) требуется до 1 секунды.
Мои таблицы проиндексированы довольно хорошо, и другие запросы выполняются быстро. Есть ли лучший способ / шаблон проектирования для такой структуры SQL? Любые советы будут действительно полезны.
Спасибо,
Matt