Yup.

This is a normal behaviour. mysql_free_result() will
result in bringing each unasked rows to the client and
freeing it up row by row.

BTW, why do you need to do - "select * from ????"

Karam

--- Renald Buter <[EMAIL PROTECTED]> wrote:

> Hello list,
> 
> I am having this issue with mysql_use_result: it
> seems it will iterate
> over all unused results if I call
> 'mysql_free_result'. The following
> code illustrates this:
> 
>  mysql_query(&mysql,"SELECT * FROM
> a_very_large_table");
>  res = mysql_use_result(&mysql);
>  i = 0;
>  while (row = mysql_fetch_row(res)) {
>    fprintf(stderr,"%d,%d\n", row[0], row[1]);
>    if (++i > 5)
>      break;
>  }
>  fprintf(stderr,"freeing...\n");
>  mysql_free_result(res);
>  /* wait wait wait wait wait wait wait wait ... */
> 
> With 'mysql_store_results', the code would run out
> of memory, because
> the table is very large (20m rows). But this version
> will run up to 2
> minutes, taking all CPU cycles with it, just
> "free"ing the result.
> 
> Is this normal behaviour or can I change something
> for the better?
> 
> I am using mysql 4.0.22 client and server on Linux
> 2.6.
> 
> 
> Thanks!
> 
> Renald
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:   
>
http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to