资源描述:
《基于freebsd+mysql高性能数据库开发--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于FreeBSD+MySQL高性能数据库开发>> 一、高性能数据库的选择 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以在开发股市行情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又要求在基于PC服务器,ySQL的Benchmark中可以看到,MySQL的性能非常出众(当然,测试的MySQL系统可能作了优化,被测数据可能是针对MySQL选择的),而且MySQL提供了对ySQL
2、的执行代码及源代码。注意,ySQL的根目录是c:mysql,可暂不改动my.f)。在NT的控制台窗口中,进入MySQL的执行目录(c:mysqlin),执行 C:mysqlinmysqld-shareysqlinmysqlmysql 建立数据库连接,出现mysql>提示符后,执行 mysql>DELETEFROMuserysql>QUIT 删除所有的非授权用户。 然后执行 C:mysqlinmysqladminreload C:mysqlinmysqla
3、dmin-urootpassy.f,在[client]段中加入 : user=root passysqlinmysqladmin-u=root-pshutdoysqlinclude添加到编译选项的包含路径中(在ProjectOptions中加入/Id:mysqlinclude)。新建一main.c文件,主体如下:123下一页>>>>这篇文章来自..,。#include #include #include #include intmain(intargc,char*argv[])
4、 { charszTargetDSN[]=test; charszSqlText[500]=; charaszFlds[25][25]; MYSQL*myData; MYSQL_RES*res; MYSQL_FIELD*fd; MYSQL_ROYSQL*)0)) //初始化数据结构 mysql_real_connect(myData,NULL, //连接数据库 root,your_passytable //新建一张表 (timedatetime,s1char(6),
5、s2char(11),s3int,s4int)); if(mysql_query(myData,szSqlText)) //执行SQL语句 {//执行SQL语句出错 ErrLog(Can'tcreatetable); mysql_close(myData); returnFALSE; } } sprintf(szSqlText, insertintomytable //向表中插入数据 values('2000-3-1021:01:30', //注
6、意时间的格式 'Test','MySQLTest',2000,3)); if(mysql_query(myData,szSqlText)) {//执行SQL语句出错 ErrLog(Can'tinsertdatatotable); mysql_close(myData); returnFALSE; } sprintf(szSqlText,select*frommytable); if(mysql_query(myData,szSqlText
7、)) //进行数据检索 { //执行SQL语句出错 mysql_close(myData); returnFALSE; } else { res=mysql_store_result(myData); //取得查询结果 i=(int)mysql_num_roysql_fetch_field(res); i++) strcpy(aszFlds[i],fd->name); //取得各字段名 for(i=1;roysql_fetch_roysql_num_field
8、s(res); //取得记录中的字段数 printf(Record#%ld:-,i++); for(k=0;k //输出各字段的值 printf(Fld#%d(%s):%s,k+1,aszFlds[k], (((roysql_free_result(res); } } else {//连接数据库出错 ErrLog(Can'tconnecttothemysqlserver); mysql_close(myData); returnFALSE; } mysql_