我正在使用mysql-python连接到远程MySQL数据库
我查询如下
cursor = conn.cursor()
cursor.execute(查询)
返回光标
并尝试将其打印为
sql = 'select * from reading table;' # has 7 million records
cursor = MySQLDB.execute(sql)
for row in cursor:
print row
在服务器上,我看到进程正在运行
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
问题 使用python使用{m,b}错误记录查询表的有效方法是什么?
谢谢
答案 0 :(得分:5)
我建议两个选择:
将所需数据导入到SELECT OUTFILE
或甚至使用mysql控制台的文件中,并使用该文件。
你应该明白,默认情况下,mysql将整个结果集发送到客户端,并且客户端模仿,就像逐行读取数据一样(尽管整个结果已经在内存中,或者如果存在则失败内存不足)。或者,结果集可以在服务器端形成。为此,您需要将cursor=MySQLdb.cursors.SSCursor
参数添加到MySQLdb.connect(有关详细信息,请参阅http://mysql-python.sourceforge.net/MySQLdb.html)。