linux c操作mysql 占用cpu高怎么解决

linux c操作mysql 占用cpu高如何解决
最近在linux下写一个数据库监控程序,用的纯c,操作mysql用的是mysql自带的c API:mysql_init,mysql_real_connect,mysql_query...,定时监控用的是信号量:

#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <stdlib.h>
#include <signal.h>

static int count = 0;
static struct itimerval oldtv;

void set_timer()
{
struct itimerval itv;
itv.it_interval.tv_sec = 1;
itv.it_interval.tv_usec = 0;
itv.it_value.tv_sec = 1;
itv.it_value.tv_usec = 0;
setitimer(ITIMER_REAL, &itv, &oldtv);
}

void signal_handler(int m)
{
count ++;
printf("%d\n", count);
}

int main()
{
signal(SIGALRM, signal_handler);
set_timer();
while(count < 10000);
exit(0);
return 1;
}



数据表不到1个G,然后程序运行起来后cpu一直处于98%~~100%之间,至于网友说的“常连接”,我每次新建连接mysql后都会关闭mysql---mysql_close , 不知道信号量那个while循环会不会导致cpu占用过高,或者是执行查询mysql_query mysql时引起的。请问有没有优化的方法?谢谢linux c操作mysql 占用cpu高怎么解决
------解决思路----------------------
while(count < 10000);  这个一直在跑 cpu自然就高了  可以usleep(100); 
------解决思路----------------------
while(count < 10000); 这种方法不行,没有释放cpu资源。