我使用mysql.connector (MySQLdb Python实现?)访问MySQL。从游标从select语句进行传输没有那么快。
有没有办法提高代码的速度?
也许是另一个图书馆?哪一个?(我有Windows和Python 3.1)也许行检索不同于在游标上迭代?
发布于 2012-01-17 22:07:50
缺省的MySQLdb游标一次从服务器获取整个查询结果。将此数据转换为Python元组列表可能会消耗大量内存和时间。
当您想要进行一个大型查询并从服务器中一次提取一个结果时,请使用MySQLdb.cursors.SSCursor。但是,请注意,在使用SSCursor时,在获取整个结果集之前,在connection上执行no other query can be made。
import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
...
cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
...或者,使用MySQL的替代Python驱动程序oursql。我们的One的一个特性是它是fetchs rows lazily的。
https://stackoverflow.com/questions/8895837
复制相似问题