Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Performance of query for getting item revisions

CarolinFeb 12 2013 — edited Feb 12 2013
Hi All,

The following query took several minutes in an environment with about 7,500,000 item revisions :

SELECT
MIR.INVENTORY_ITEM_ID
, MSI.CONCATENATED_SEGMENTS ITEM_NUMBER
, MIR.ORGANIZATION_ID
, MP.ORGANIZATION_CODE
FROM
MTL_ITEM_REVISIONS_VL MIR
, MTL_PARAMETERS MP
, MTL_SYSTEM_ITEMS_VL MSI
WHERE
(MIR.INVENTORY_ITEM_ID = p_Item_ID OR MSI.CONCATENATED_SEGMENTS = p_Item_Number)
AND (MIR.ORGANIZATION_ID = p_Org_ID OR MP.ORGANIZATION_CODE = p_Org_Code)
AND MP.ORGANIZATION_ID = MIR.ORGANIZATION_ID
AND MIR.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND MIR.ORGANIZATION_ID = MSI.ORGANIZATION_ID ORDER BY EFFECTIVITY_DATE, REVISION DESC;

If changing this query to the following, it takes less than a second:

SELECT
MIR.INVENTORY_ITEM_ID
, MSI.CONCATENATED_SEGMENTS ITEM_NUMBER
, MIR.ORGANIZATION_ID
, MP.ORGANIZATION_CODE
FROM
MTL_ITEM_REVISIONS_VL MIR
, MTL_PARAMETERS MP
, MTL_SYSTEM_ITEMS_VL MSI
WHERE
MSI.CONCATENATED_SEGMENTS = p_Item_Number
AND MP.ORGANIZATION_CODE = p_Org_Code
AND MP.ORGANIZATION_ID = MIR.ORGANIZATION_ID
AND MIR.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND MIR.ORGANIZATION_ID = MSI.ORGANIZATION_ID ORDER BY EFFECTIVITY_DATE, REVISION DESC;

Can anyone explain the extreme difference in performance between these two queries?

Thanks & Regards

Carolin
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 12 2013
Added on Feb 12 2013
3 comments
1,870 views