2009-10-25 11 views
10

Due librerie per Mysql. Ho sempre usato _mysql perché è più semplice.Python: vantaggi e svantaggi di _mysql vs MySQLdb?

Qualcuno può dirmi la differenza e perché dovrei usare quale in certe occasioni?

+0

penso che questo sarà certamente di interesse ... http://charlesnagy.info/it/python/python-mysqldb-vs-mysql-connector-query-performance – Eugene

risposta

13

MySQLdb utilizza DB-API (descritto in PEP 249) che dovrebbe essere preferito, poiché è comune a tutti i driver di database. IMHO non vi è alcun vantaggio nell'andare a basso livello con _mysql. Preferirei piuttosto utilizzare librerie di livello superiore, come SQLAlchemy.

+2

'_mysql' deve esistere per collegare l'API di livello superiore alle librerie C. Il '_' dovrebbe essere un indizio che di solito non dovresti usarlo. –

+4

estraneo. Bel gatto. –

4

_mysql è il mapping one-to-one dell'API mysql approssimativa. Oltre a ciò, la DB-API è costruita, gestendo le cose usando i cursori e così via.

Se si è abituati all'API mysql di basso livello fornita da libmysqlclient, il modulo _mysql è ciò di cui si ha bisogno, ma come dice un'altra risposta, non è necessario andare così a basso livello. È possibile lavorare con la DB-API e comportarsi bene, con l'ulteriore vantaggio che la DB-API è indipendente dal backend.

8

In alternativa, è possibile utilizzare MySQL Connector/Python:

MySQL Connector/Python sta attuando completamente il protocollo MySQL client/server in Python. Ciò significa che non devi compilare nulla o che MySQL non deve nemmeno essere installato sulla macchina.

Problemi correlati