mysql查询浏览器内存不足

时间:2012-08-06 15:47:34

标签: mysql database

我在mysql数据库中有一个非常大的表(几百万行)。每行都有一个创建为字段的日期。我想从2011年到今天提取行。我正在使用的查询看起来像这样:

select data1, data1, data3, data4, data5, data6 
  from db.table 
 where date(data3) between '2011-10-01' and '2012-08-06'

在浏览器崩溃之前,我在mySQL查询浏览器中获取了大约300万行,并且我得到了一个Glib错误(gmem.c:173未能分配50080000字节。中止。)

仅仅因为我没有足够的记忆吗?是否有任何人可以建议的技巧或性能增强查询?

1 个答案:

答案 0 :(得分:0)

您正在使用的查询浏览器似乎将整个数百万行的结果集提取到RAM中。如果由于某种原因你必须这样做,你将需要更多的RAM。

问题是:你对这个结果集做了什么?你把它保存到文件?如果是这样,那么使用MySQL浏览器功能来执行此操作。它不需要像将整个结果集下载到RAM那样多的内存。

修改: MySQL查询浏览器正在被MySQL / Oracle淘汰。您可能应该找到一些其他程序来将行提取到CSV(Excel)文件。如果您愿意,某些工具也会创建XLS文件。

这是正确的问题和答案:

How to output MySQL query results in CSV format?