- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FreeBSD+MySQL高性能数据库开发--.doc
基于FreeBSD+MySQL高性能数据库开发
一、高性能数据库的选择
在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以在开发股市行情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又要求在基于PC服务器,ySQL的Benchmark中可以看到,MySQL的性能非常出众(当然,测试的MySQL系统可能作了优化,被测数据可能是针对MySQL选择的),而且MySQL提供了对ySQL的执行代码及源代码。注意,ySQL的根目录是c:mysql,可暂不改动my.f)。在NT的控制台窗口中,进入MySQL的执行目录(c:mysqlin),执行
C:mysqlinmysqld-shareysqlinmysqlmysql
建立数据库连接,出现mysqlgt;提示符后,执行
mysqlgt;DELETEFROMuserysqlgt;QUIT
删除所有的非授权用户。
然后执行
C:mysqlinmysqladminreload
C:mysqlinmysqladmin-urootpassy.f,在[client]段中加入
:
user=root
passysqlinmysqladmin-u=root-pshutdoysqlinclude添加到编译选项的包含路径中(在ProjectOptions中加入/Id:mysqlinclude)。新建一m ain.c文件,主体如下:
123下一页 这篇文章来自..,。#include
#include
#include
#include
intmain(intargc,char*argv[])
{
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),
s2char(11),s3int,s4int));
if(mysql_query(myData,szSqlText))
//执行SQL语句
{//执行SQL语句出错
ErrLog(Can#39;tcreatetable);
mysql_close(myData);
returnFALSE;
}
}
sprintf(szSqlText,
insertintomytable
//向表中插入数据
values(#39;2000-3-1021:01:30#39;,
//注意时间的格式
#39;Test#39;,#39;MySQLTest#39;,2000,3));
if(mysql_query(myData,szSqlText))
{//执行SQL语句出错
ErrLog(Can#39;tinsertdatatotable);
mysql_close(myData);
returnFALSE;
}
sprintf(szSqlText,select*frommytable);
if(mysql_query(myData,szSqlText))
//进行数据检索
{
//执行SQL语句出错
mysql_close(myData);
returnFALSE;
}
else
{
res=mysql_store_result(myData);
//取得查询结果
i=(int)mysql_num_roysql_fetch_field(res);
i++)
strcpy(aszFlds[i],fd-gt;name);
//取得各字段名
for(i=1;roysql_fetch_roysql_num_fields(res);
//取得记录中的字段数
printf(Record#%ld:-,i++);
for(k=0;k
//输出各字段的值
printf(Fld#%d(%s):%s,k+1,aszFlds[k],
(((roysql_free_result(res);
}
}
el
文档评论(0)