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

MYSQL में JSON डेटा डालने का सबसे अच्छा तरीका

कुछ टिप्पणियों ने इसे JSON प्रारूप में छोड़ने और इसे एक टेक्स्ट कॉलम में संग्रहीत करने का सुझाव दिया है।

मेरा सुझाव है कि यदि आपका अपने स्कीमा पर नियंत्रण है, तो आपको इसे दो NUMERIC में संग्रहित करना चाहिए फ़ील्ड - एक अक्षांश के लिए, और एक देशांतर के लिए। मूल रूप से, आपके पास यही डेटा है। तथ्य यह है कि आपने इसे एक कंटेनर प्रारूप के रूप में JSON का उपयोग करके प्राप्त किया है, यह डेटा के लिए ही अप्रासंगिक है।

यदि आप इसे अक्षांश और देशांतर के रूप में संग्रहीत करते हैं, तो इस पर क्वेरी करना आसान हो जाता है, और यदि आप चाहें तो बाद में JSON को फिर से बना सकते हैं... लेकिन यदि आप अंत में इसे लाना चाहते हैं नहीं JSON के रूप में, आप ऐसा करने के लिए बहुत बेहतर स्थिति में होंगे। इसका यह भी अर्थ है कि आप भविष्य में होने वाले परिवर्तनों के विरुद्ध स्वयं को JSON से नहीं बांध रहे हैं।

व्यक्तिगत रूप से मुझे लगता है कि डेटा की आंतरिक प्रकृति को मानसिक रूप से अलग करना हमेशा एक अच्छा विचार है जिस तरह से आप इसे प्राप्त करते हैं। डेटा को उस संग्रहण के लिए किसी भी प्रारूप में संग्रहीत करें - इसलिए यदि आप कोई संख्या संग्रहीत कर रहे हैं, तो संख्यात्मक डेटा प्रकारों में से एक का उपयोग करें। यदि आप कोई दिनांक और समय संग्रहीत कर रहे हैं, तो datetime का उपयोग करें , आदि। इस तरह आप हर बार जब आप इसे एक्सेस करना चाहते हैं तो आपके और डेटा के बीच एक अतिरिक्त परत के साथ समाप्त नहीं होता है।

इस दृष्टिकोण का अर्थ यह भी है कि आपको शुरुआत में ही खराब डेटा मिलने की अधिक संभावना है - यदि आप JSON को पहले पार्स किए बिना सीधे स्टोर करते हैं, तो आप बाद में कर सकते हैं पता लगाएं कि अक्षांश या देशांतर एक मान्य संख्या नहीं है। ठीक है, तथ्य यह है कि आपके नमूना डेटा में कभी-कभी lon . होता है और कभी-कभी lng . होता है सुझाव है कि आपको वैसे भी कुछ डेटा क्लीनअप करना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.net.SocketException:टूटा हुआ पाइप

  2. MySQL में डालने पर PHP में सिंगल कोट से बचना

  3. ईवेंट-कैलेंडर बनाने के लिए दो तालिकाओं से डेटा प्राप्त करें

  4. 'सेकंड पहले', 'मिनट पहले', 'घंटे पहले' आदि के रूप में तारीख की गणना करना और दिखाना

  5. MySQL लोड डेटा इन्फाइल - त्वरण?