|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31267
|
|