现在在做一个程序,数据库是用oracle,在Linux下开发,打算用pro*c来对数据库进行操作。
现在有两个问题,由于业务没有定下来,经常改动,所以一旦数据库表结构出现修改,pro*c写的接口就得改,有没有什么方式使得pro*c实现与数据库表的耦合度降低;
还有就是效率问题,使用pro*c插入数据到数据库每秒只能插入70条,而且数据库所在的机子CPU接近100%;
想请教各位大侠怎么解决这两个问题
现在有两个问题,由于业务没有定下来,经常改动,所以一旦数据库表结构出现修改,pro*c写的接口就得改,有没有什么方式使得pro*c实现与数据库表的耦合度降低;
还有就是效率问题,使用pro*c插入数据到数据库每秒只能插入70条,而且数据库所在的机子CPU接近100%;
想请教各位大侠怎么解决这两个问题
解决方案 »
- enterprise manager只能运行几分钟
- Oracle9i中SQL*Plus与iSql*Plus的区别
- sql语句请教 ,含有变量的,见例子(正文)
- 求助!急!SqlLoad中如何实现Where语句的功能
- 关于更新触发器
- 急请教:oracle存储过程
- 一句牛人写的模糊查询语句,有兴趣进来看看?
- 紧急救命!
- 谁有或谁知道哪儿有数据库SQLSERVER、SYBASE、ORACLE的性能测试报告,或他们的横向测试报告?谢谢!
- 请问哪有ORACLE FOR LINUX 补丁的下载?
- rhel5下安装oralce 10g r2工具dbca、netca乱码
- Oracle DataGard备库为何接收不到日志呢?
v_ename emp.ename%type;这里,即使emp表的ename字段更改,也不用手动去更改子程序。不晓得pro*c里面可以不。至于效率问题,应该查询系统等待事件。
v$session_wait视图,看看系统到底在等待什么。
a:连接数据库接口
b:执行sql问接口(exec sql execute immediate :sql_string)
c:提交和回滚接口
c:断开链接接口,包括commit(commit work release)和rollback(rollback worl release)2、以上接口定下来之后无论你数据库怎么变都不受影响。
似乎很难做到表结构改了,程序不改
3楼朋友的方法 如果出现表结构更改,其实程序也是要改的,咋看一下好像不要改,可是想想表结构改了,如果将数据返回给程序,肯定要强转,表结构改了对应的结构体肯定改;这样子程序就得改了
可能真的得杯具了