Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更快的Python MySQL_Python_Mysql_Performance - Fatal编程技术网

更快的Python MySQL

更快的Python MySQL,python,mysql,performance,Python,Mysql,Performance,我使用mysql.connector(MySQLdb Python实现?)访问mysql。从游标到select语句的传输没有那么快 有没有办法加快代码的速度 也许另一个图书馆?哪个?(我有Windows和Python 3.1) 可能行检索不同于在游标上迭代?默认的MySQLdb游标从服务器一次获取整个查询结果。将这些数据转换为Python元组列表会消耗大量内存和时间 当您想要进行大型查询和 从服务器一次提取一个结果。但是,请注意,在使用SSCursor时,在连接上直到获取整个结果集为止 impo

我使用mysql.connector(MySQLdb Python实现?)访问mysql。从游标到select语句的传输没有那么快

有没有办法加快代码的速度

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

默认的
MySQLdb
游标从服务器一次获取整个查询结果。将这些数据转换为Python元组列表会消耗大量内存和时间

当您想要进行大型查询和 从服务器一次提取一个结果。但是,请注意,在使用SSCursor时,在
连接上
直到获取整个结果集为止

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驱动程序。我们的SQL的一个特点就是它。

为什么您认为是客户端库而不是您的查询让事情变得缓慢?此外,显示一些代码。在SQL浏览器中启动相同的查询要快得多。代码已被传播,但不会花很长时间。如果不是SQL访问,而是在Python代码中,那么我将自己解决它。这不是问题,谢谢!有趣的提示:)我将尝试研究这些可能性。ExecuteMay提示非常有用。此外,我注意到fetchall比游标访问要快得多!SSCursor的事情我还不明白,但我会记住:)@unutbu mysql支持服务器端查询吗?我认为mysql会在检索到记录后立即发送一条一条的记录。它不会缓存数据。否则,如果有人想杀掉mysql服务器,只需发送两个大表,mysql服务器内存就会耗尽。@FengWang:你能详细说明一下吗?我想我不明白你的问题。