我在.net 中原来是使用sql server数据库的,操作都很快。后来做了一下移植到oracle9i,开始的时候是用微软的oracleclient来访问oracle ,但是很快发现执行select操作时,速度奇慢。后来换成oracle公司自带的驱动程序UDP,但是经过测试还是慢。后来再用微软的oledb来访问oracle,速度比前面两种方式都快,但是同样的sql语句,在.net下用oledb和在vb下用oledb执行,发现.net下始终比vb下执行的要慢(慢10倍左右)。 不知道为什么.net 下操作oracle怎么这么慢?,如果是 .net框架自身的问题,那不是就没办法了。oracle数据库那边可以优化吗?
解决方案 »
- Oracle 本地索引指定表空间,如何查看这个本地索引的详细信息?
- oracle的JOB技术问题
- 求一条select 语句,急,顶着有分
- 如果比较两个数据库数据完全一致!
- SQL> connect /as sysdba SQL> connect /as sysdba SQL> grant select on hr.employees to scott;ORA-01031: 权限不足 这怎么可能呢?
- 在没有启动tns监听时,其它任何应用都不能连上oracle,但为什么sql*plus可以?
- 菜鸟提问::;;;;
- 大家用游标循环的时候需要先计算循环次数吗?
- AUDIT是什么?怎么用?
- oracle 极限计算求大神帮忙
- 截取字段值的问题(比较难)
- php4向oracle10g插入中文时出现乱码,急~散分
--但是同样的sql语句,在.net下用oledb和在vb下用oledb执行你的应用层写的是一样的吗? 如果是同一个SQL的话, 我参数一样,查询出来的记录数也相同的话, 相差该不会这么大的.
只是在VB里是用ado的recordset填充数据,在.net中是用ado.net的dataset填充数据,发现两者的速度相差很大。后来我怀疑是dataset(adapter.fill()方法)的问题,就尝试先用datareader读出数据,然后逐条往dataset里的表中增加数据,但发现速度还是很慢。