Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Простой пример есть много памяти! Помогите! (Арсений) 11/04/2007 - 01:22:23



From: Арсений - 11/04/2007 - 01:22:23
Subject:Простой пример есть много памяти! Помогите!
-----------------
Добрый день.

Использую mysql-5.0.37 в Windows XP (SP2)

Почему казалось бы такой простой пример ест 340 мегабайт
памяти! Я ведь делаю mysql_free_result после каждой итерации
цикла и очищаю вектор.

Не помогает также есть переконнекчиваться после определенного
времени. Итак, вот такой простой пример:

int main( int argc, char* argv[] )
{

MYSQL connector;

if( mysql_init( &connector ) == NULL )
cout << "Initialization error" << endl;

if(!mysql_real_connect( &connector, "localhost", "user", "user","db", 0, NULL, 0))
cout << "Error while connect" << endl;


vector< vector<string >> q;

for(int i=0; i<20000; i++ )
{
q.clear();

if( mysql_query( &connector, "SELECT * FROM bond WHERE id=1" ) )
cout << " Error while query" << endl;

//selects 37*9 array


MYSQL_RES *myRes = mysql_use_result( &connector );


MYSQL_ROW myRow;



if( myRes != NULL )
{

while( (myRow = mysql_fetch_row( myRes )) != NULL )
{
vector<string> cr;


for( unsigned int j=1; j<= mysql_num_fields( myRes ); j++ )

cr.push_back( ToString( myRow[j-1] ) );



q.push_back( cr );
}

}
else
{

if( mysql_errno(&connector) )

cout << "Error while browsing result" << endl;
}


mysql_free_result(myRes);
}

mysql_close( &connector );

return;

}


Может быть есть какие нибудь настройки в сервере ( точнее наверно в MySQL API) которые лимитируют размер буффера соединения?
У меня пока только стоит max_allowed_packet=8M. Остальное все
по умолчанию сервера.


Спасибо!
Арсений.




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
31267



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |