现在在做一个程序,数据库是用oracle,在Linux下开发,打算用pro*c来对数据库进行操作。
现在有两个问题,由于业务没有定下来,经常改动,所以一旦数据库表结构出现修改,pro*c写的接口就得改,有没有什么方式使得pro*c实现与数据库表的耦合度降低;
还有就是效率问题,使用pro*c插入数据到数据库每秒只能插入70条,而且数据库所在的机子CPU接近100%;
想请教各位大侠怎么解决这两个问题

解决方案 »

  1.   

    不懂pro*c。不过给点拙见:像ORACLE子程序里,语句只提取必要的字段,且变量以表字段的类型%type定义,如:
    v_ename    emp.ename%type;这里,即使emp表的ename字段更改,也不用手动去更改子程序。不晓得pro*c里面可以不。至于效率问题,应该查询系统等待事件。
    v$session_wait视图,看看系统到底在等待什么。
      

  2.   

    1、接口怎么定义的,个人认为只需要如下接口,无论你数据库端怎么变都无所谓。
       a:连接数据库接口
       b:执行sql问接口(exec sql execute immediate :sql_string)
       c:提交和回滚接口
       c:断开链接接口,包括commit(commit work release)和rollback(rollback worl release)2、以上接口定下来之后无论你数据库怎么变都不受影响。
      

  3.   

    机器的配置 因为现在还在开发测试阶段 所以只是一台普通的电脑 系统是linux 电脑配置参考现在价格约3000左右的服务器配置
    似乎很难做到表结构改了,程序不改
    3楼朋友的方法 如果出现表结构更改,其实程序也是要改的,咋看一下好像不要改,可是想想表结构改了,如果将数据返回给程序,肯定要强转,表结构改了对应的结构体肯定改;这样子程序就得改了
    可能真的得杯具了
      

  4.   

    表结构都改了,肯定是要改程序的了。不管是pro c还是其它什么的。。