Вопрос № 94662: Доброе время суток, Эксперты! Мой вопрос касается MySQL. У меня есть в планах написать каталогизатор некоего контента. Начал с проектирования БД. Дамп таблиц и данных, с которыми примерно будет вестись работа, я приложил. Так вот, хочу реализовать фи...
Вопрос № 94.662
Доброе время суток, Эксперты! Мой вопрос касается MySQL. У меня есть в планах написать каталогизатор некоего контента. Начал с проектирования БД. Дамп таблиц и данных, с которыми примерно будет вестись работа, я приложил. Так вот, хочу реализовать фичу, которая, насколько я знаю, называется droll-down. Пока придумал использовать запросы такого плана:
SELECT title
FROM (SELECT title, COUNT(title) AS `cnt`
FROM assoc
WHERE tag IN (SELECT id
FROM tags
WHERE name = 'Мысли'
OR name = 'Книги')
GROUP BY title) AS `tbl`
WHERE tbl.cnt = 2;
Собственно, вопросы:
1. Правильно ли выбран способ хранения данных?
2. Можно ли оптимизировать запрос, приведённый выше, и если да, то как?
3. Может есть другой, более быстрый, способ реализации этого самого droll-down?
Заранее спасибо за помощь. С уважением, 5acred Phoenix.
Отвечает: Katyass
На данный момент могу только сообщить что
1. таблицы организованы вполне логично и удобно для построения запросов.
2. и 3. что Вы подразумеваете под droll-down?
Ответ отправила: Katyass (статус: 1-ый класс)
Ответ отправлен: 11.07.2007, 11:11 Оценка за ответ: 4 Комментарий оценки: Подразумевается следующее: если, например, пользователь выбрал категории «Мысли» и «Книги», то должен вернуться список статей, входящих в *обе* эти категории.