Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1109475
  • 博文数量: 284
  • 博客积分: 8223
  • 博客等级: 中将
  • 技术积分: 3188
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-01 13:26
文章分类

全部博文(284)

文章存档

2012年(18)

2011年(33)

2010年(83)

2009年(147)

2008年(3)

分类:

2010-02-08 14:09:13

   问题描述:
   程序使用OCI方式编程,运行于solaris操作系统上,sql语句为格式相同的插入语句。发现每执行一段比较固定的时间,就会在某次OCIStmtExecute时等上约3s的时间,间隔时间基本相同,等待的时间也基本上相同。下面为主要的oci语句:

连接数据库语句:
OCIServerAttach(pOraEnv->srvhp, pOraEnv->errhp,(text *)pDbCon->dbname, strlen(pDbCon->dbname),OCI_DEFAULT)
OCILogon(pOraEnv->envhp,pOraEnv->errhp,&pOraEnv->svchp,(text *)pDbCon->username,strlen(pDbCon->username),(text *)pDbCon->passwd,strlen(pDbCon->passwd),(text *)pDbCon->dbname,strlen(pDbCon->dbname));

执行sql用的语句:
OCIStmtExecute(pOraEnv->svchp, pOraEnv->stmthp, pOraEnv->errhp, 1, 0, NULL, NULL, OCI_DEFAULT);


 问题处理过程:
   1. 考虑:怀疑等待的3s是数据库正在提交
      处理:在每个语句后增加commit语句。
      结果:仍然存在上述现象;
 
   2. 考虑:可能是数据库存在性能问题
      处理:采用非阻塞模式执行语句。语句如下:    管理员在2009年8月13日编辑了该文章文章。 -->
阅读(847) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~