Optimizer problem with forms 3.0

From: Edgar Dijkhuizen <Edgar.Dijkhuizen_at_cbr.nl>
Date: 1996/09/04
Message-ID: <Dx7oF6.7nF_at_inter.NL.net>#1/1


Dear Oracle Friend's

I have the following problem;

I have a form with a many-to-many relationship, i created it as described in the "advanced sql*forms techniques 3.0" manual The default where/order by clause of the CUSTOMER block is as following;

where ((:status.currentblock = 'PRODUCT'

      and customer.custid in (select ord.custid from .......)))
      or (:status.currentblock = 'CUSTOMER'))

The CUSTOMER table has the custid as a primary-key.

With small tables this works fine, but with big tables it works rather slow.
The problem is that the OR statement tells cost-base optimizer makes a full table-scan on the CUSTOMER table and it does not use the index. If I remove the OR statement the optimizer will use the index. How can I force
the optimizer to use the index or is there another way to make a many-to-many relationship. Please help me.

We use ORACLE 7.1.2 and FORMS 3.0
Thanx.

Ted.Martinez_at_cbr.nl Received on Wed Sep 04 1996 - 00:00:00 CEST

Original text of this message