更快的Python MySQL

Ger*_*nuk 7 python mysql performance

我使用mysql.connector(MySQLdb Python实现?)来访问MySQL.从游标中选择语句的传输速度并不快.

有没有办法加快代码?

也许另一个图书馆 哪一个?(我有Windows和Python 3.1)可能行检索不同于迭代游标?

unu*_*tbu 12

默认MySQLdb光标从服务器立即获取整个查询结果.将此数据转换为Python元组列表会占用大量内存和时间.

如果要进行大量查询并一次从服务器中提取结果,请使用MySQLdb.cursors.SSCursor.但请注意,在使用时SSCursor,没有其他的查询可以进行connection,直到整个结果集已被提取.

import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
    ...
    cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
    ...
Run Code Online (Sandbox Code Playgroud)

或者,使用oursql,MySQL的替代Python驱动程序.我们的一个功能是它可以懒惰地获取行.