explain plan for SELECT tcnt,
rn,
CustomerID,
CustomerName,
CustomerType,
CertType,
CertID,
MFCustomerID,
MCCustomerID,
ManageOrgName,
ManageUserName,
ManageUserID,
Private,
Isresure,
Balance
FROM (SELECT COUNT(1) OVER() AS tcnt,
ROWNUM AS rn,
O.CustomerID,
O.CustomerName,
O.CustomerType,
O.CertType,
O.CertID,
O.MFCustomerID,
O.MCCustomerID,
GETMANAGEUSERID(O.CustomerID) AS ManageUserID,
GETMANAGEORGNAME(O.CustomerID) AS ManageOrgName,
GETMANAGEUSERNAME(O.CustomerID) AS ManageUserName,
O.Private,
O.Isresure,
GETCUSTOMERBALANCE3(O.CustomerID) AS Balance
FROM CUSTOMER_INFO O
WHERE 1 = 1
AND (EXISTS (SELECT II.CustomerID
FROM IND_INFO II
WHERE II.UpdateDate = '2019/10/23'
AND II.UpdateUserID = '991735'
AND O.CustomerID = II.CustomerID
UNION
SELECT EI.CustomerID
FROM ENT_INFO EI
WHERE EI.UpdateDate = '2019/10/23'
AND EI.UpdateUserID = '991735'
AND O.CustomerID = EI.CustomerID))
AND NVL(O.belongCorporaTion, '9999') = '9999')
WHERE rn BETWEEN 1 AND 10;
select * from table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
Plan hash value: 2649621158
---------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 6238 | 28M (25)| 00:18:19 |
|* 1 | VIEW | | 1 | 6238 | 28M (25)| 00:18:19 |
| 2 | WINDOW BUFFER | | 1 | 84 | 28M (25)| 00:18:19 |
| 3 | COUNT | | | | | |
|* 4 | FILTER | | | | | |
|* 5 | TABLE ACCESS FULL | CUSTOMER_INFO | 3518K| 281M| 18056 (1)| 00:00:01 |
| 6 | SORT UNIQUE | | 2 | 120 | 8 (25)| 00:00:01 |
| 7 | UNION-ALL | | | | | |
|* 8 | TABLE ACCESS BY INDEX ROWID| IND_INFO | 1 | 29 | 3 (0)| 00:00:01 |
|* 9 | INDEX UNIQUE SCAN | PK_IND_INFO | 1 | | 2 (0)| 00:00:01 |
|* 10 | TABLE ACCESS BY INDEX ROWID| ENT_INFO | 1 | 31 | 3 (0)| 00:00:01 |
|* 11 | INDEX UNIQUE SCAN | PK_ENT_INFO | 1 | | 2 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("RN">=1 AND "RN"<=10)
4 - filter( EXISTS ( (SELECT "II"."CUSTOMERID" FROM "IND_INFO" "II" WHERE
"II"."CUSTOMERID"=:B1 AND "II"."UPDATEUSERID"='991735' AND
"II"."UPDATEDATE"='2019/10/23')UNION (SELECT "EI"."CUSTOMERID" FROM "ENT_INFO" "EI" WHERE
"EI"."CUSTOMERID"=:B2 AND "EI"."UPDATEUSERID"='991735' AND
"EI"."UPDATEDATE"='2019/10/23')))
5 - filter(NVL("O"."BELONGCORPORATION",'9999')='9999')
8 - filter("II"."UPDATEUSERID"='991735' AND "II"."UPDATEDATE"='2019/10/23')
9 - access("II"."CUSTOMERID"=:B1)
10 - filter("EI"."UPDATEUSERID"='991735' AND "EI"."UPDATEDATE"='2019/10/23')
11 - access("EI"."CUSTOMERID"=:B1)
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID f4zvxt88gr994, child number 0
-------------------------------------
SELECT tcnt, rn, CustomerID, CustomerName,
CustomerType, CertType, CertID, MFCustomerID,
MCCustomerID, ManageOrgName, ManageUserName,
ManageUserID, Private, Isresure, Balance FROM
(SELECT COUNT(1) OVER() AS tcnt, ROWNUM AS rn,
O.CustomerID, O.CustomerName,
O.CustomerType, O.CertType, O.CertID,
O.MFCustomerID, O.MCCustomerID,
GETMANAGEUSERID(O.CustomerID) AS ManageUserID,
GETMANAGEORGNAME(O.CustomerID) AS ManageOrgName,
GETMANAGEUSERNAME(O.CustomerID) AS ManageUserName,
O.Private, O.Isresure,
GETCUSTOMERBALANCE3(O.CustomerID) AS Balance FROM
CUSTOMER_INFO O WHERE 1 = 1 AND (EXISTS (SELECT
II.CustomerID FROM IND_INFO II
Plan hash value: 2649621158
-------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads | OMem | 1Mem | Used-Mem |
-------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 10 |00:01:01.57 | 20M| 18924 | | | |
|* 1 | VIEW | | 1 | 1 | 10 |00:01:01.57 | 20M| 18924 | | | |
| 2 | WINDOW BUFFER | | 1 | 1 | 18 |00:01:01.50 | 20M| 18895 | 4096 | 4096 | 4096 (0)|
| 3 | COUNT | | 1 | | 18 |00:01:01.50 | 20M| 18895 | | | |
|* 4 | FILTER | | 1 | | 18 |00:01:01.50 | 20M| 18895 | | | |
|* 5 | TABLE ACCESS FULL | CUSTOMER_INFO | 1 | 3518K| 3574K|00:00:02.39 | 66444 | 0 | | | |
| 6 | SORT UNIQUE | | 3574K| 2 | 18 |00:00:56.23 | 20M| 18895 | 2048 | 2048 | |
| 7 | UNION-ALL | | 3574K| | 18 |00:00:52.23 | 20M| 18895 | | | |
|* 8 | TABLE ACCESS BY INDEX ROWID| IND_INFO | 3574K| 1 | 17 |00:00:35.99 | 13M| 18895 | | | |
|* 9 | INDEX UNIQUE SCAN | PK_IND_INFO | 3574K| 1 | 3267K|00:00:13.16 | 10M| 1 | | | |
|* 10 | TABLE ACCESS BY INDEX ROWID| ENT_INFO | 3574K| 1 | 1 |00:00:08.47 | 6750K| 0 | | | |
|* 11 | INDEX UNIQUE SCAN | PK_ENT_INFO | 3574K| 1 | 307K|00:00:05.71 | 6441K| 0 | | | |
-------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(("RN">=1 AND "RN"<=10))
4 - filter( IS NOT NULL)
5 - filter(NVL("O"."BELONGCORPORATION",'9999')='9999')
8 - filter(("II"."UPDATEUSERID"='991735' AND "II"."UPDATEDATE"='2019/10/23'))
9 - access("II"."CUSTOMERID"=:B1)
10 - filter(("EI"."UPDATEUSERID"='991735' AND "EI"."UPDATEDATE"='2019/10/23'))
11 - access("EI"."CUSTOMERID"=:B1)
48 rows selected.