本文共 1632 字,大约阅读时间需要 5 分钟。
OCILIB VC2008 效率测试
2014年4月29日19:59:43
1、VS2008新建一个空的控制台程序。
2、源代码:
//test.cpp文件#pragma comment(lib,"ociliba.lib")#define OCI_CHARSET_ANSI#include3、有唯一主键建表语句#include #define BEGIN_NUM 900000#define MAX_NUM 1000000int main(void){ clock_t start,finish; double duration; OCI_Connection *cn; if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT|OCI_ENV_CONTEXT)) return EXIT_FAILURE; cn = OCI_ConnectionCreate("orcl", "etc_ctrlr", "itsmoe", OCI_SESSION_DEFAULT); OCI_Statement * st; st = OCI_StatementCreate(cn); int nRet =0; start = clock(); char strSQL[400] = {0}; int nSN = BEGIN_NUM; sprintf(strSQL,"insert into LWW_TXF_TEST (SN,CARDID,MVLICENSE,ENTRYTIME) VALUES " "(%d,'123','seu',to_date('1999-09-12', 'YYYY-MM-DD'))",nSN); OCI_Prepare(st, strSQL); nRet = OCI_Execute(st); while (nSN = MAX_NUM)break; OCI_Prepare(st, strSQL); OCI_Execute(st); } else { OCI_ExecuteStmt(st,strSQL); } } finish = clock(); duration = double(finish - start)/CLOCKS_PER_SEC; printf("time used:%f ms\n",1000*duration); system("pause"); OCI_Break(cn); OCI_Cleanup(); return 0;}
create table LWW_TXF_TEST (SN NUMBER primary key,CARDID VARCHAR2(25),MVLICENSE VARCHAR2(20),ENTRYTIME DATE)时间:
0到10万,128.7s;10万到20万,137.5s;20万到30万,139.0s;30万到40万,135.5s;40万到50万,131.2s; 50万到60万,136.0s;60万到70万,137.2s;70万到80万,131.2s;80万到90万,122.5s;90万到100万,134.5s.
4、没有主键建表语句
create table LWW_TXF_TEST (SN NUMBER,CARDID VARCHAR2(25),MVLICENSE VARCHAR2(20),ENTRYTIME DATE)
时间:
0到10万,125s;10万到20万,126.6s;20万到30万,130.0s;30万到40万,131.0s;40万到50万,125.1s; 50万到60万,124.0s;60万到70万,130s;70万到80万,128.3s;80万到90万,120.6s;90万到100万,131.5s.
转载地址:http://anwci.baihongyu.com/