2010-09-05 20 views
6

Estoy desarrollando una aplicación web que necesita una interfaz con una base de datos MySQL, y parece que no puedo encontrar ningún módulo realmente bueno para Python.Módulo Python MySQL

Estoy buscando específicamente un módulo rápido, capaz de manejar cientos de miles de conexiones (y consultas, todas en un corto período de tiempo entre ellas), sin un impacto significativo en la velocidad.

Respuesta

7

MySQLdb es prácticamente el único juego en la ciudad para acceso Python mysql.

2

normalmente utilizo SQLObject, pero no lo han utilizado en condiciones muy estresantes, así que no podía dar fe de rendimiento (una vez dicho esto, yo no hablaría contra él).

Para copiar un código de demostración de otra respuesta:

from sqlobject import * 

# Replace this with the URI for your actual database 
connection = connectionForURI('mysql://server:XXXX') 
sqlhub.processConnection = connection 

# This defines the columns for your database table. See SQLObject docs for how it 
# does its conversions for class attributes <-> database columns (underscores to camel 
# case, generally) 

class Song(SQLObject): 

    name = StringCol() 
    artist = StringCol() 
    album = StringCol() 

# Create fake data for demo - this is not needed for the real thing 
def MakeFakeDB(): 
    Song.createTable() 
    s1 = Song(name="B Song", 
       artist="Artist1", 
       album="Album1") 
    s2 = Song(name="A Song", 
       artist="Artist2", 
       album="Album2") 

def Main(): 
    # This is an iterable, not a list 
    all_songs = Song.select().orderBy(Song.q.name) 

    # Do something by iterating over the song list... 
1

oursql es otra opción para acceder pitón-mysql. Es un contenedor mucho más completo de libmysqlclient que MySQLdb. Tiende a ser más rápido en mi experiencia con muchas características adicionales agradables.