mysql_query(&mysql,"select * from table1");
if ( CheckError(SQLERRCHK, "Qry Failed") ) return(-1);
CheckError(DEBDEBUG, "use starting ...\n");
mysql_ret = mysql_use_result(&mysql);
if( CheckError(SQLERRCHK, "use result Failed") ) return(-1);
i=0;
while(mysql_row = mysql_fetch_row(mysql_ret))
{
i++;
if ( i % 10000 == 0 ) CheckError(DEBDEBUG, "i=%d\n", i);
}
mysql_free_result(mysql_ret);
CheckError(DEBDEBUG, "use end,i=%d\n", i);
CheckError为打印跟踪的函数,可以不管的我在客户端执行这段程序,在mysql_fetch_row循环的过程中,服务器端的内存急剧减少,待程序执行完毕后,服务器的内存也不自动释放,在LINUX下看不出是什么进程占用了那些内存,我关掉了mysqld服务,内存依然无法释放出,只能重启服务器这是为什么呢?是mysql_use_result的用法有什么特别吗?那些内存是被哪个进程占用了呢?
if ( CheckError(SQLERRCHK, "Qry Failed") ) return(-1);
CheckError(DEBDEBUG, "use starting ...\n");
mysql_ret = mysql_use_result(&mysql);
if( CheckError(SQLERRCHK, "use result Failed") ) return(-1);
i=0;
while(mysql_row = mysql_fetch_row(mysql_ret))
{
i++;
if ( i % 10000 == 0 ) CheckError(DEBDEBUG, "i=%d\n", i);
}
mysql_free_result(mysql_ret);
CheckError(DEBDEBUG, "use end,i=%d\n", i);
CheckError为打印跟踪的函数,可以不管的我在客户端执行这段程序,在mysql_fetch_row循环的过程中,服务器端的内存急剧减少,待程序执行完毕后,服务器的内存也不自动释放,在LINUX下看不出是什么进程占用了那些内存,我关掉了mysqld服务,内存依然无法释放出,只能重启服务器这是为什么呢?是mysql_use_result的用法有什么特别吗?那些内存是被哪个进程占用了呢?
解决方案 »
- mysql安装多个实例
- 求一SQL语句,查询一个库中所有表中所有字段,只要符合关键字,就输出
- 在mysql中通过select检索到一条记录,有什么方法可以得到这条记录在表中的偏移?
- mysql配置的apply security setting不成功,提示Connection Error错误
- 8G内存,myisam存储引擎的系统参数配置,大家给予点意见!
- 请问簇也就是cluster支持XP吗?我看了支持MAC,LINUX,SOLARIS
- 怎么获取重复项的最后一条记录
- 求大神救命!MySQL连续插入性能莫名极其低下
- mysql如何查找时间超过10分钟的记录?
- SQL问题,查询异常数据
- mysqladmin
- sql操作,添加记录时候可以不添加id(primary key) 让它自动增加呢 ?
http://topic.csdn.net/u/20080304/19/dee4a7c1-f7c9-458e-9862-7b28fb10a65b.html?166184669