day*_*mer 2 python mysql mysql-python
我使用mysql-python连接到远程MySQL数据库
我查询如下
cursor = conn.cursor()
cursor.execute(query)
返回游标
并尝试将它们打印为
sql = 'select * from reading table;' # has 7 million records
cursor = MySQLDB.execute(sql)
for row in cursor:
print row
Run Code Online (Sandbox Code Playgroud)
在服务器上,我看到进程正在运行
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3769 mysql 20 0 1120m 276m 5856 S 125 1.7 2218:09 mysqld
Run Code Online (Sandbox Code Playgroud)
问题 使用python使用{m,b}错误记录查询表的有效方法是什么?
谢谢
我建议两个选择:
使用SELECT OUTFILE或甚至使用mysql控制台将所需数据导入文件,并使用该文件.
您应该理解,默认情况下,mysql将整个结果集发送到客户端,并且客户端模仿就像逐行读取数据一样(尽管整个结果已经在内存中,或者如果内存不足则失败).或者,结果集可以在服务器端形成.为此,您需要将cursor=MySQLdb.cursors.SSCursor参数添加到MySQLdb.connect(有关详细信息,请参阅http://mysql-python.sourceforge.net/MySQLdb.html).