To, že budete mít všechny značky v různých záznamech (normalizované), znamená, že v případě potřeby budete moci značky snadněji přejmenovat a sledovat historii názvů značek.
SO , například přejmenován na SQL Server související značky alespoň třikrát (mssql -> sqlserver -> sql-server ).
Mít všechny značky v jednom záznamu (denormalizované) znamená, že můžete tento sloupec indexovat pomocí FULLTEXT indexovat a hledat příspěvky se dvěma nebo více štítky najednou:
SELECT *
FROM posts
WHERE MATCH(tags) AGAINST('+mma +ufc')
což je také možné, ale méně efektivní s normalizovaným designem.
(Nezapomeňte upravit @ft_min_word_len k indexování značek 3 znaků nebo méně, aby to fungovalo)
Oba návrhy můžete kombinovat:uložit jak tabulku mapy, tak denormalizovaný sloupec. To však bude vyžadovat více údržby.
Můžete také uložit normalizovaný návrh do své databáze a použít zadaný dotaz k načtení značek do Sphinx nebo Lucene .
Tímto způsobem můžete prohledávat historii pomocí MySQL , fulltextové vyhledávání značek pomocí Sphinx a nebude vyžadována žádná další údržba.