Облако тегов

triumvirat
говорю же, добавь ещё один индекс на id_tag и всё будет ок :-)

ps: у тебя план выборки выглядит так: "выбрать все статьи, перемножить на записи из таблицы связей тегов, для которых тег искомый и статья соответствующая".
а нужно так: "выбрать все искомые теги из таблицы связей и перемножить на таблицу статей"

соответственно в виде запроса:

[sql]
SELECT * FROM `article_tag` `at` INNER JOIN `article` `a` ON `a`.`id` = `at`.`id_article` WHERE `at`.`id_tag` = 666
[/sql]

подойдет не UNIQUE, а PRIMARY
разница только в семантике. по факту ничего не изменится

Ну а тогда какой смысл в моей таблице UNIQUE?
"здравый смысл". пара "статья-тег" не может дублироваться, поэтому делаем их уникальными.
 
говорю же, добавь ещё один индекс на id_tag и всё будет ок
это я понял. Я вот не понял, чем в данном случае нам UNIQUE на 2 столбца подходит лучше чем PRIMARY на два столбца? В чем разница?
 
zerkms
triumvirat

Как бы говорили про "Облака" тегов. Пока мы не узнаем видение "Облаков" ТС...
 
zerkms
Он вас всё равно не поймёт. И не зачем тут так распинаться. Делать по шаблону, так придет народ, с вопросами -> как дальше.
 
Viktor_Rez
я не понимаю твоих намёков. если конкретно ко мне есть претензии - то озвучь их в более явном виде.
 
zerkms
Просто, что бы, что то хотеть, надо как минимум, знать какие исходные данные.
Лично к тебе, мой друг, я ничего не имею.
 
Viktor_Rez
какие ещё исходные данные? человек попросил рассказать ему об облаке тегов.
привели ссылку, структуру таблицы связей, типичный запрос.

каких данных не хватало для этого ответа?
 
Не хватало только тех, которые бы заставили ТС "изучить" данный вопрос.
А так, sql код валидный.

-~{}~ 03.12.09 05:25:

Вы так меня и не поняли =((
 
triumvirat, составной ключ используется только при выборки по первому компоненту ключа (ну или нескольких одновременно). на остальные нужно делать отдельные ключи, если по ним (и только по ним) может быть выборка.

кстати, полезно делать foreign key, при этом мускль требует наличия подобного ключа для связи.
 
Спасибо за поддержку трэда, много полезной информации для себя узнал :)
 
Сверху