Mysql
 sql >> Base de données >  >> RDS >> Mysql

Python MySQL plus rapide

Le MySQLdb par défaut le curseur récupère l'intégralité du résultat de la requête à partir du serveur. La conversion de ces données en une liste Python de tuples peut consommer beaucoup de mémoire et de temps.

Utilisez MySQLdb.cursors.SSCursor lorsque vous souhaitez effectuer une énorme requête et extraire les résultats du serveur un par un. Notez cependant que lors de l'utilisation de SSCursor, aucun autre requête peut être faite sur la connection jusqu'à ce que l'ensemble des résultats ait été récupéré.

import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
    ...
    cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
    ...

Ou utilisez oursql , un pilote Python alternatif pour MySQL. L'une des fonctionnalités d'oursql est qu'il récupère les lignes paresseusement .