Hi!

I'm using dynamic proxy feature in a large database.

I've detected the OJB always try to get every field, even if it is not used (in 
dynamic proxy, only the PK is required). This gives a performance penalty in large 
databases. I've a large database that takes near 60 seconds to load 5000 records (not 
so bad, but could be better) because my table has more fields (more, one is a blob 
that can't be indexed) and ao ojb turns impossible to use indexes under some 
circustances.

The question is: is possible make the query bellow be just

SELECT A0.CO_PESSOA FROM MGR.TB_PESSOA A0 WHERE A0.CO_PESSOA IN  (SELECT 
min(A0.CO_PESSOA) FROM MGR.TB_PESSOA A0 WHERE A0.NO_PESSOA IN  (SELECT 
min(A0.NO_PESSOA) FROM MGR.TB_PESSOA A0 WHERE A0.ST_ATIVO =  ? ) )

so SapDB will use my index (and query will be so fast)?


Here is the log showing the "feature":

[EMAIL PROTECTED] ()
=> false
[EMAIL PROTECTED] ()
=> true
[EMAIL PROTECTED] (SELECT 
A0.ST_ATIVO,A0.IM_FOTO,A0.NO_PESSOA,A0.CO_PESSOA,A0.DS_NOME_FANTASIA,A0.ST_FISICA_JURIDICA
 FROM MGR.TB_PESSOA A0 WHERE A0.CO_PESSOA IN  (SELECT min(A0.CO_PESSOA) FROM 
MGR.TB_PESSOA A0 WHERE A0.NO_PESSOA IN  (SELECT min(A0.NO_PESSOA) FROM MGR.TB_PESSOA 
A0 WHERE A0.ST_ATIVO =  ? ) ), 1003, 1007)
=> [EMAIL PROTECTED]
[EMAIL PROTECTED] (1, T, 1)
[EMAIL PROTECTED] ()
=> [EMAIL PROTECTED]
[EMAIL PROTECTED] ()
=> true
[EMAIL PROTECTED] (CO_PESSOA)
=> 8
[EMAIL PROTECTED] ()
=> false
[EMAIL PROTECTED] ()
=> false
[EMAIL PROTECTED] ()
[EMAIL PROTECTED] ()
[EMAIL PROTECTED] ()



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.515 / Virus Database: 313 - Release Date: 1/9/2003

Reply via email to