2009-10-25 13 views
10

माइस्क्ल के लिए दो पुस्तकालय। मैंने हमेशा _mysql का उपयोग किया है क्योंकि यह आसान है।पायथन: _mysql बनाम MySQLdb के फायदे और नुकसान?

क्या कोई मुझे अंतर बता सकता है, और मुझे कुछ अवसरों में किस का उपयोग करना चाहिए?

+0

मुझे लगता है कि यह सबसे निश्चित रूप से ब्याज की हो जाएगा ... http://charlesnagy.info/it/python/python-mysqldb-vs-mysql-connector-query-performance – Eugene

उत्तर

13

MySQLdb डीबी-एपीआई (PEP 249 में वर्णित) का उपयोग करता है जिसे प्राथमिकता दी जानी चाहिए, क्योंकि यह सभी डेटाबेस ड्राइवरों के लिए आम है। आईएमएचओ _mysql के साथ निम्न स्तर पर जाने में कोई फायदा नहीं है। मैं बजाय, उच्च स्तर की पुस्तकालयों का उपयोग करने के बारे में सोचूंगा, जैसे SQLAlchemy, इसके बजाए।

+2

'_mysql' करने के लिए मौजूद करने की जरूरत है सी पुस्तकालयों के लिए उच्च स्तर एपीआई कनेक्ट करें। '_' एक सुराग होना चाहिए जिसे आप आमतौर पर इसका उपयोग नहीं करना चाहिए। –

+4

असंबंधित। अच्छी बिल्ली। –

4

_mysql किसी न किसी mysql एपीआई का एक-से-एक मैपिंग है। इसके शीर्ष पर, डीबी-एपीआई बनाया गया है, कर्सर का उपयोग करके चीजों को संभालने और इसी तरह।

यदि आप libmysqlclient द्वारा प्रदान किए गए निम्न-स्तरीय mysql API में उपयोग किए जाते हैं, तो _mysql मॉड्यूल आपको चाहिए, लेकिन जैसा कि एक और उत्तर कहता है, इतनी कम स्तर पर जाने की कोई वास्तविक आवश्यकता नहीं है। आप डीबी-एपीआई के साथ काम कर सकते हैं और अतिरिक्त लाभ के साथ काम कर सकते हैं, डीबी-एपीआई बैकएंड-स्वतंत्र है।

8

वैकल्पिक रूप से, आप MySQL Connector/Python उपयोग कर सकते हैं:

MySQL कनेक्टर/अजगर अजगर में पूरी तरह से MySQL क्लाइंट/सर्वर प्रोटोकॉल लागू कर रहा है। इसका मतलब है कि आपको कुछ भी संकलित करने की आवश्यकता नहीं है या MySQL को मशीन पर भी इंस्टॉल नहीं करना है।

संबंधित मुद्दे