python mysqldb连接错误

我的问题发生如下:


我使用mysqldb的API,如下代码:


 conn = MySQLdb.connect(host='192.168.1.16', user='henry', passwd='password', db='test', charset='utf8')

 cur = conn.cursor()

没关系,connect mysql成功,并且与此配合良好:


select count(*) from songs;   everthing is allright.

但是,如果我像这样使用sql:


select * from songs;

错误是:


connect mysqldb error. the songs table has 5000000 rows.


有只小跳蛙
浏览 184回答 2
2回答

慕村225694

可能您的内存不足。您应该使用游标,以便仅在需要时才加载所需的数据。您可以放入cursorclass=MySQLdb.cursors.SSCursorconnect函数,这应该可以解决问题。

慕沐林林

MySQLdb将select语句的所有行和列保存在内存中,在您的情况下是5M行* n列,因此错误可能是由于两个原因引起的:1.结果太大而无法保存在内存中。2.结果太大,无法通过网络连接传输。您可以尝试只返回几行,而不是全部。如果您确实要检索整个表,请分几次完成。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python