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

रूबी, रेल:mysql2 मणि, क्या कोई इस मणि का उपयोग करता है? क्या यह स्थिर है?

mysql2 एक अधिक आधुनिक प्रतिस्थापन . के रूप में है मौजूदा mysql . के लिए मणि, जो पिछले कुछ समय से बासी है। मैंने यह भी सुना है कि लेखक अब इसका समर्थन नहीं कर रहा है और इसके बजाय हर किसी को अपने शुद्ध-रूबी संस्करण का उपयोग करने की सलाह देता है क्योंकि यह अधिक रूबी कार्यान्वयन के साथ संगत है (लेकिन बहुत है) धीमा)।

mysql . के साथ पहला अंक मणि यह सी में किसी भी प्रकार की कास्टिंग नहीं करता है, यह आपको वापस रूबी स्ट्रिंग देता है जिसे आपको उचित रूबी प्रकारों में परिवर्तित करना होता है। शुद्ध-रूबी में ऐसा करना बेहद धीमा है, और उन वस्तुओं को ढेर पर बनाता है जिन्हें पहले स्थान पर मौजूद होने की आवश्यकता नहीं होती है। और जैसा कि हम सभी जानते हैं, रूबी की जीसी इसकी सुस्ती का प्राथमिक कारण है। इसलिए बेहतर होगा कि इससे बचें और जितना हो सके शुद्ध C में करें।

दूसरा यह है कि यह संपूर्ण . को अवरुद्ध करता है रूबी वीएम कनेक्ट करते समय, प्रश्न भेजते समय और प्रतिक्रियाओं की प्रतीक्षा करते हुए, और कनेक्शन बंद करते समय भी। mysqlplus निश्चित रूप से इस मुद्दे में मदद करता है, लेकिन जहां तक ​​​​मुझे पता है केवल प्रश्न भेजने के लिए।

mysql2 एपीआई को बेहद सरल रखते हुए इन समस्याओं को हल करना है। Eric Wong (यूनिकॉर्न के लेखक) ने कुछ भयानक पैच का योगदान दिया है जो लगभग हर चीज को गैर-अवरुद्ध करते हैं और/या रूबी में जीवीएल जारी करते हैं। Mysql2::Result क्लास एन्यूमरेबल को लागू करता है, इसलिए यदि आप जानते हैं कि किसी ऐरे का उपयोग कैसे किया जाता है, तो आप इसका उपयोग करना जानते हैं।

मुझे इस बात की जानकारी है कि अभी कुछ लोग इसका उत्पादन में उपयोग कर रहे हैं, लेकिन इसका मूल्यांकन Twitter, WorkPoint और UserVoice पर भी किया जा रहा है।

मैं Yehuda के साथ भी बातचीत कर रहा हूं जब यह जहाजों के लिए रेल 3 के लिए अनुशंसित/डिफ़ॉल्ट होने के बारे में है। इसकी कुछ तकनीकों और अनुकूलन को DataObjects के do_mysql में भी लाया जा रहा है। ड्राइवर भी जल्द ही।

ActiveRecord ड्राइवर इस समय काफी ठोस होना चाहिए। आपको केवल मणि स्थापित करने की आवश्यकता है, और डेटाबेस.yml में अपने एडेप्टर का नाम बदलकर mysql2 कर दें। ।

यदि आप इसका उपयोग करने में रुचि रखते हैं, तो इसे आज़माएं। अगर आपको कोई समस्या मिलती है तो मैं तुरंत सुधार करता हूं;)



  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. आंतरिक एक ही तालिका में शामिल हों

  3. पायथन एसक्यूएल - पायथन के साथ SQLite, MySQL और PostgreSQL डेटाबेस का उपयोग कैसे करें

  4. मैं हाइबरनेट + c3p0 + MySql को बड़ी संख्या में स्लीपिंग कनेक्शन बनाने से कैसे रोक सकता हूँ?

  5. Php/Mysql दिनांक '0000-00-00' के रूप में सहेजा गया