Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या यह वास्तव में Toxi तरीके को सामान्य करने के लायक है? (3एनएफ)

सभी टैग अलग-अलग रिकॉर्ड (सामान्यीकृत) में होने का मतलब है कि आप टैग का नाम बदलने में सक्षम होंगे और आवश्यकता पड़ने पर टैग नाम इतिहास को ट्रैक कर पाएंगे।

SO , उदाहरण के लिए, नाम बदलकर SQL Server संबंधित टैग कम से कम तीन बार (mssql -> sqlserver -> sql-server )।

सभी टैग्स को एक रिकॉर्ड में रखने का मतलब है कि आप इस कॉलम को FULLTEXT के साथ इंडेक्स कर सकते हैं। एक साथ दो या दो से अधिक टैग वाली पोस्ट को इंडेक्स और सर्च करें:

SELECT  *
FROM    posts
WHERE   MATCH(tags) AGAINST('+mma +ufc')

जो संभव भी है लेकिन सामान्यीकृत डिजाइन के साथ कम कुशल है।

(@ft_min_word_len . को एडजस्ट करना न भूलें 3 . के टैग को इंडेक्स करने के लिए काम करने के लिए वर्ण या उससे कम)

आप दोनों डिज़ाइनों को जोड़ सकते हैं:मैप टेबल और डीनॉर्मलाइज़्ड कॉलम दोनों को स्टोर करें। हालांकि, इसके लिए अधिक रखरखाव की आवश्यकता होगी।

आप सामान्यीकृत डिज़ाइन को अपने डेटाबेस में भी संग्रहीत कर सकते हैं और टैग को Sphinx पर फ़ीड करने के लिए आपके द्वारा प्रदान की गई क्वेरी का उपयोग कर सकते हैं या Lucene

इस तरह, आप MySQL . के साथ इतिहास की खुदाई कर सकते हैं , पूर्ण टेक्स्ट टैग Sphinx . का उपयोग करके खोज करता है , और किसी अतिरिक्त रखरखाव की आवश्यकता नहीं होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL स्तंभ संख्या पंक्ति 1 पर मान गणना से मेल नहीं खाती

  2. MySQL डिबगिंग टूल धीमी क्वेरी?

  3. MySQL में एक पंक्ति में एकाधिक आईडी कैसे असाइन करें?

  4. मैं MySQL को पुनरारंभ किए बिना MySQL की धीमी क्वेरी लॉग को कैसे सक्षम कर सकता हूं?

  5. MySQL में दो डेटाटाइम्स के बीच माइनस ऑपरेटर का व्यवहार क्या है?