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

मैं एक MySQL डेटाबेस में बूलियन मानों की एक सरणी कैसे स्टोर कर सकता हूं?

अगर आप इसे खोजने योग्य तरीके से करने का तरीका ढूंढ रहे हैं, तो नहीं।

कुछ खोजने योग्य तरीके (1 से अधिक कॉलम और/या टेबल शामिल):

  • SET के समूह का उपयोग करें स्तंभ। आप एक सेट में 64 आइटम (चालू/बंद) तक सीमित हैं, लेकिन आप शायद उन्हें समूहबद्ध करने का कोई तरीका निकाल सकते हैं।
  • 3 तालिकाओं का उपयोग करें:आइटम (आईडी, ...), फ्लैगनाम (आईडी, नाम), और एक पिवट टेबल आइटमफ्लैग (आइटम_आईडी, फ्लैग_आईडी)। फिर आप जॉइन वाले आइटम के लिए क्वेरी कर सकते हैं ।

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

  • अपनी भाषा में अंतर्निहित सुविधाओं का उपयोग करें (PHP का क्रमानुसार/अनक्रमबद्ध करें)।
  • "y" और "n" वर्णों की श्रृंखला को एक साथ संयोजित करें।
  • MySQL डेटाबेस पर कॉल करने से पहले क्लाइंट में अपने मानों को एक स्ट्रिंग (8 बिट प्रति वर्ण) में बिट-पैक करें, और डेटाबेस से डेटा पुनर्प्राप्त करते समय उन्हें अनपैक करें। यह सबसे कुशल भंडारण तंत्र है (यदि सभी पंक्तियाँ समान हैं, तो चार [x] का उपयोग करें, न कि varchar [x] का) डेटा की कीमत पर खोजा नहीं जा सकता है और थोड़ा अधिक जटिल कोड है।


  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) पर

  2. MySQL:लगातार डुप्लिकेट मान हटाएं

  3. एक ही तालिका में एकाधिक विदेशी कुंजी

  4. SQLite - रैंड द्वारा ऑर्डर ()

  5. त्रुटि:mysqlclient स्थापित करते समय 'x86_64-linux-gnu-gcc' कमांड करें