2009-10-25 7 views
10

Zwei Bibliotheken für Mysql. Ich habe _mysql immer verwendet, weil es einfacher ist.Python: Vorteile und Nachteile von _mysql vs MySQLdb?

Kann mir jemand den Unterschied sagen, und warum sollte ich welchen bei bestimmten Gelegenheiten benutzen?

+0

ich denke, das wird sicherlich von Interesse sein ... http://charlesnagy.info/it/python/python-mysqldb-vs-mysql-connector-query-performance – Eugene

Antwort

13

MySQLdb verwendet die DB-API (beschrieben in PEP 249), die bevorzugt werden sollte, da sie allen Datenbanktreibern gemeinsam ist. IMHO gibt es keinen Vorteil in Low-Level mit _mysql gehen. Ich würde eher daran denken, höhere Bibliotheken wie SQLAlchemy stattdessen zu verwenden.

+2

'_mysql' zu bestehen braucht Verbinden Sie die höhere Ebene api mit den C-Bibliotheken. Das '_' sollte ein Hinweis sein, dass Sie es normalerweise nicht verwenden sollten. –

+4

nicht verwandt. Schöne Katze. –

4

_mysql ist die Eins-zu-eins-Zuordnung der groben mysql-API. Obendrein wird die DB-API gebaut, die Dinge mit Cursoren usw. behandelt.

Wenn Sie an die Low-Level-Mysql-API von libmysqlclient gewöhnt sind, dann ist das _mysql-Modul das, was Sie brauchen, aber wie eine andere Antwort sagt, gibt es keine Notwendigkeit, so Low-Level zu gehen. Sie können mit der DB-API arbeiten und sich gut verhalten, mit dem zusätzlichen Vorteil, dass die DB-API Backend-unabhängig ist.

8

Alternativ können Sie MySQL Connector/Python verwenden:

MySQL Connector/Python ist das MySQL-Client/Server-Protokoll vollständig in Python implementiert. Das heißt, Sie müssen nichts kompilieren oder MySQL muss nicht einmal auf dem Rechner installiert sein.

Verwandte Themen