(カテゴリテーブルではなく)タグテーブルだけがある場合、これはより最適化された開始です:
SELECT article_id,count(*) AS q FROM article_tags WHERE id_tag IN ( SELECT id_tag FROM article_tags WHERE article_id=41 ) AND article_id!=41 GROUP BY article_id ORDER BY q DESC
(カテゴリテーブルではなく)タグテーブルだけがある場合、これはより最適化された開始です:
SELECT article_id,count(*) AS q FROM article_tags WHERE id_tag IN ( SELECT id_tag FROM article_tags WHERE article_id=41 ) AND article_id!=41 GROUP BY article_id ORDER BY q DESC