PHP Oracle 10g非常慢的获取

PHP Oracle 10g非常慢的获取,php,performance,oracle,oracle10g,oci8,Php,Performance,Oracle,Oracle10g,Oci8,我不习惯使用Oracle,所以我可能问得不太好 我执行非常简单的SELECT查询,从使用PHP5.3(PECL Oci8 1.4.6,client 11.2.0.3.0)的Linux Apache服务器到Oracle服务器(10g Enterprise Edition 10.2.0.1.0版),我不是Oracle服务器的管理员 oci\u parse和oci\u execute所花的时间不到一毫秒,但在此之后我立即执行的oci\u fetch\u数组非常慢(有时超过一秒) 起初,我尝试通过SEL

我不习惯使用Oracle,所以我可能问得不太好

我执行非常简单的
SELECT
查询,从使用PHP5.3(PECL Oci8 1.4.6,client 11.2.0.3.0)的Linux Apache服务器到Oracle服务器(10g Enterprise Edition 10.2.0.1.0版),我不是Oracle服务器的管理员

oci\u parse
oci\u execute
所花的时间不到一毫秒,但在此之后我立即执行的
oci\u fetch\u数组
非常慢(有时超过一秒)

起初,我尝试通过
SELECT[我需要的所有列]
来更改
SELECT*
,但速度仍然很慢

我应该看什么?

试试这个:

oci_set_prefetch($statement_id, 1000);

。。。或者增加php.ini中的
oci8.default\u prefetch
值。

返回多少列以及它们是什么类型的数据类型?最大的表有近100个,但列数较少也有同样的问题。数据类型是日期、数字、varchar2、clob。您的瓶颈是否真的是网络?抓取将从服务器抓取到客户端的行,我猜它们不在同一子网(远程托管您的服务器?)我以前以为是这样的,但当我使用Adminer之类的工具(在同一个Apache服务器上)浏览数据时,与我的查询相比,数据显示得非常快。我在10g上也经历过同样的情况。解释一下这个计划没问题。使用SQLDeveloper加载是可以的。但是在Web服务器上加载很慢。分析显示,
oci\u fetch.*
是罪魁祸首。我认为这与LOB有关,但没有找到解决方案。我想这样做,但只有Oracle 11g(我支持10g)支持它,除非您使用游标-它不需要11g,而且它实际上取决于Oracle Instant客户端,您说的是11.2.0.3.0版。它应该有用。:)我在php.ini中已经有了oci8.default_prefetch=100,并且所有的抓取都花费了几乎相同的时间(从第一次到最后一次),我也调整了设置中的各种oci设置,确实在某种程度上改善了情况,但仍然比imo中的速度慢得多。
oci_fetch*
仍然非常慢。