मैं अपनी तालिका में उपयोगकर्ता से संबंधित डेटा संग्रहीत करने के लिए निम्नलिखित मॉडल लागू कर रहा हूं - मेरे पास 2 कॉलम हैं - uid
(प्राथमिक कुंजी) और एक meta
स्तंभ जो उपयोगकर्ता के बारे में अन्य डेटा को JSON प्रारूप में संग्रहीत करता है।
uid | meta
--------------------------------------------------
1 | {name:['foo'],
| emailid:['foo@bar.com','bar@foo.com']}
--------------------------------------------------
2 | {name:['sann'],
| emailid:['sann@bar.com','sann@foo.com']}
--------------------------------------------------
यह एक बेहतर तरीका है (प्रदर्शन के लिहाज से, डिजाइन के लिहाज से) एक-स्तंभ-प्रति-संपत्ति मॉडल है, जहां मेज की तरह कई कॉलम होगा की तुलना में uid
, name
, emailid
।
मुझे पहले मॉडल के बारे में क्या पसंद है, आप अधिक से अधिक फ़ील्ड जोड़ सकते हैं, कोई सीमा नहीं है।
इसके अलावा, मैं सोच रहा था, कि अब मैंने पहला मॉडल लागू कर दिया है। मैं इस पर एक क्वेरी कैसे कर सकता हूं, जैसे, मैं उन सभी उपयोगकर्ताओं को लाना चाहता हूं जिनके पास 'फू' जैसा नाम है?
प्रश्न - डेटाबेस में JSON या कॉलम-प्रति-फ़ील्ड का उपयोग करके उपयोगकर्ता से संबंधित डेटा (फ़ील्ड की संख्या को ध्यान में रखते हुए निश्चित नहीं है) को स्टोर करने का बेहतर तरीका क्या है? इसके अलावा, यदि पहला मॉडल लागू किया गया है, तो ऊपर वर्णित के रूप में डेटाबेस को क्वेरी कैसे करें? क्या मुझे सभी मॉडलों का उपयोग करना चाहिए, जो एक अलग पंक्ति में एक क्वेरी द्वारा खोजा जा सकता है और JSON में अन्य डेटा (एक अलग पंक्ति) है?
अपडेट करें
चूंकि बहुत अधिक कॉलम नहीं होंगे, जिस पर मुझे खोज करने की आवश्यकता है, क्या दोनों मॉडलों का उपयोग करना बुद्धिमान है? डेटा के लिए कुंजी-प्रति-स्तंभ जिसे मुझे खोजना है और दूसरों के लिए JSON (उसी MySQL डेटाबेस में)?