Hello,

On 26/12/2010 19:39, Sylvain Pointeau wrote:
> I would have believed that only the vector is filled with the results,
> I would never think that the results are first loaded in memory, then
> stored in the vectors.

Vectors are filled directly only with Oracle (and only for fundamental 
types), as this is the only database that has direct support for this 
kind of data transfer.

Other database servers transmit the query results to the client memory, 
in some form that is not directly visible to the client, and then the 
client API is used to fill the vectors with values obtained from the 
cached result.
Interestingly, this means that even though the direct transfer allows to 
obtain huge performance gains with Oracle, vectors can be actually 
slower than individual row reads with other backends. I didn't make any 
tests to check it, but it would not surprise me.

Unfortunately there is no way to make a good and truly universal 
database access layer.

Regards,

-- 
Maciej Sobczak * www.msobczak.com * www.inspirel.com

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to