Als u alleen de tagtabel zou hebben (niet de categorietabel), is dit een meer geoptimaliseerde start:
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