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

स्ट्रिंग्स के लिए वर्चर या टेक्स्ट डेटा प्रकार कुछ हज़ार वर्णों तक की लंबाई के होते हैं

ऐसे कई स्थान हैं जहां VARCHAR और TEXT करो या मत करो। कुछ बातें मैं कहता हूं:

  • यदि अधिकतम लंबाई 512 से अधिक है वर्ण , TEXT . के साथ जाएं ।
  • कभी भी TINYTEXT का उपयोग न करें -- इसमें VARCHAR(255) . के सापेक्ष केवल नकारात्मक है ।
  • VARCHAR(255) का उपयोग न करें; 255 के बजाय एक उचित अधिकतम चुनें। (यह जटिल प्रश्नों में अस्थायी तालिका से संबंधित एक मामूली अनुकूलन है।)
  • CHAR का उपयोग करें केवल उन चीजों के लिए जो वास्तव में निश्चित लंबाई हैं। ऐसे लगभग सभी मामलों में, CHARACTER SET ascii . पर ध्यान दें (या लैटिन 1)। (अन्यथा यह आपकी अपेक्षा से अधिक स्थान लेगा।
  • CHARACTER SET ut8mb4 का उपयोग करें . (अपवाद अधिक दुर्लभ होते जा रहे हैं।)

(क्षमा करें, मैं पीछे हट गया। विषय पर वापस...)

मैं अनुक्रमणिका, InnoDB पंक्तियों के लेआउट में (4 अलग-अलग ROW_FORMATs हैं ), आदि, VARCHAR(513) अनिवार्य रूप से TEXT . से अलग नहीं किया जा सकेगा ।

VARCHAR . के लिए कुछ तर्कों में से एक यह है कि यह स्टोर को दी गई लंबाई तक सीमित करता है। लेकिन यह कितनी बार महत्वपूर्ण है?



  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. MyISAM को InnoDB में कनवर्ट करना। फायदेमंद? परिणाम?

  3. MySQL डेटाबेस से PDO कनेक्शन ने मना कर दिया

  4. प्रति दिन पंजीकृत उपयोगकर्ताओं की गणना करने के लिए SQL क्वेरी

  5. डुप्लीकेट कुंजी अद्यतन पर इग्नोर बनाम सम्मिलित करें ... सम्मिलित करें