我在 Oracle 12cR2(通过 Linux Red Hat 7)中发现了这个奇怪的行为,这个特殊的查询。在我看来这是一个错误,但我发布问题以防万一有人发现类似问题。
该查询是由 Java 应用程序触发的,但我已经能够在 sqlplus 中重现该问题。
提示:不要问我括号数量过多,我自己做的,它来自应用程序本身,所以我使用相同的sql文本是100%准确的。
查询 1
SQL> SELECT *
2 from (SELECT
3 MiscellaneousInformation.miscInfoNo,
4 null AS thirdPartyNumber,
5 COALESCE(ProposalAgreement.id,
6 Agreement.id,
7 0) AS alfaAgreementIdentifier,
8 COALESCE(ProposalSchedule.id,
9 Schedule.id,
10 0) AS alfaScheduleIdentifier,
11 COALESCE(ProposalAgreement.agreementNumber, Agreement.agreementNumber) AS AGREEMENTNUMBER,
12 --ProposalAgreement.agreementNumber an1, Agreement.agreementNumber an2,
13 ProposalAgreement.agreementNumber AS AGREEMENTNUMBER0,
14 --CASE WHEN Agreement.agreementNumber IS NOT NULL THEN Agreement.agreementNumber ELSE ProposalAgreement.agreementNumber END AS AGREEMENTNUMBER,
15 COALESCE(Schedule.scheduleNumber,
16 ProposalSchedule.scheduleNumber,
17 0),
18 COALESCE(Schedule.terminationNumber,
19 ProposalSchedule.terminationNumber,
20 0),
21 0 AS lineOfCreditNumber,
22 0 AS securityIdentifier,
23 0 AS caseIdSequenceNumber,
24 MiscellaneousInformation.informationType,
25 MiscellaneousInformation.detail,
26 MiscellaneousInformation.valueAmount,
27 MiscellaneousInformation.dateField,
28 MiscellaneousInformation.valueCurrency,
29 MiscellaneousInfoListValue.description,
30 MiscellaneousInformation.ownerDiscriminator,
31 MiscellaneousInformation.ownerEntityId
32 FROM
33 ALFATS.MiscellaneousInformation
34 LEFT OUTER JOIN
35 ALFATS.MiscellaneousInfoListValue
36 ON (
37 (
38 MiscellaneousInformation.informationType = MiscellaneousInfoListValue.informationType
39 )
40 AND (
41 MiscellaneousInformation.detail = MiscellaneousInfoListValue.code
42 )
43 )
44 LEFT OUTER JOIN
45 ALFATS.ScheduleEntity
46 ON (
47 MiscellaneousInformation.ownerEntityId = ScheduleEntity.entityId
48 )
49 LEFT OUTER JOIN
50 ALFATS.Schedule
51 ON (
52 (
53 Schedule.id = ScheduleEntity.primaryScheduleId
54 )
55 AND (
56 Schedule.terminationNumber IN (
57 0,
58 1)))
59 LEFT OUTER JOIN
60 ALFATS.ProposalSchedule
61 ON (
62 MiscellaneousInformation.ownerEntityId = ProposalSchedule.entityId
63 )
64 LEFT OUTER JOIN
65 ALFATS.Agreement
66 ON (
67 (
68 MiscellaneousInformation.ownerEntityId = Agreement.entityId
69 )
70 OR (
71 Schedule.agreementNumber = Agreement.agreementNumber
72 )
73 OR (
74 ProposalSchedule.agreementNumber = Agreement.agreementNumber
75 )
76 )
77 LEFT OUTER JOIN
78 ALFATS.ProposalAgreement
79 ON (
80 (
81 MiscellaneousInformation.ownerEntityId = ProposalAgreement.entityId
82 )
83 OR (
84 ProposalSchedule.agreementNumber = ProposalAgreement.agreementNumber
85 )
86 )
87 WHERE
88 (
89 (
90 (
91 (
92 MiscellaneousInformation.ownerDiscriminator = N'AGR'
93 )
94 OR (
95 MiscellaneousInformation.ownerDiscriminator = N'SCH'
96 )
97 )
98 AND (
99 NOT (EXISTS (SELECT
100 1
101 FROM
102 ALFATS.MiscellaneousInformation miscInfoInner
103 WHERE
104 ((miscInfoInner.ownerEntityId = MiscellaneousInformation.ownerEntityId)
105 AND (miscInfoInner.informationType = MiscellaneousInformation.informationType)
106 AND (miscInfoInner.miscInfoNo > MiscellaneousInformation.miscInfoNo))))
107 )
108 ) AND (
109 MOD(MiscellaneousInformation.miscInfoNo, 20) = 13
110 )
111 ) )
112 WHERE OWNERDISCRIMINATOR = 'AGR'
113 AND agreementnumber IS not NULL
114 --AND agreementnumber0 IS NOT NULL
115*
no rows selected
Elapsed: 00:03:07.56
Execution Plan
----------------------------------------------------------
Plan hash value: 70829564
------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 671 | 370K| 210K (1)| 00:00:09 |
|* 1 | FILTER | | | | | |
| 2 | MERGE JOIN OUTER | | 671 | 370K| 210K (1)| 00:00:09 |
| 3 | MERGE JOIN OUTER | | 336 | 173K| 208K (1)| 00:00:09 |
| 4 | NESTED LOOPS OUTER | | 112 | 55440 | 207K (1)| 00:00:09 |
| 5 | NESTED LOOPS OUTER | | 112 | 51296 | 207K (1)| 00:00:09 |
|* 6 | HASH JOIN OUTER | | 112 | 42448 | 206K (1)| 00:00:09 |
| 7 | NESTED LOOPS OUTER | | 112 | 35280 | 206K (1)| 00:00:09 |
| 8 | NESTED LOOPS ANTI | | 112 | 23072 | 206K (1)| 00:00:09 |
|* 9 | TABLE ACCESS FULL | MISCELLANEOUSINFORMATION | 11184 | 1299K| 173K (1)| 00:00:07 |
|* 10 | INDEX RANGE SCAN | MISCELLANEOUSINFORMATION_L2 | 13M| 1135M| 3 (0)| 00:00:01 |
| 11 | TABLE ACCESS BY INDEX ROWID| PROPOSALSCHEDULE | 1 | 109 | 2 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | PROPOSALSCHEDULE_N2 | 1 | | 1 (0)| 00:00:01 |
| 13 | TABLE ACCESS FULL | MISCELLANEOUSINFOLISTVALUE | 699 | 44736 | 6 (0)| 00:00:01 |
| 14 | TABLE ACCESS BY INDEX ROWID | SCHEDULEENTITY | 1 | 79 | 2 (0)| 00:00:01 |
|* 15 | INDEX UNIQUE SCAN | SCHEDULEENTITY_N2 | 1 | | 1 (0)| 00:00:01 |
|* 16 | TABLE ACCESS BY INDEX ROWID | SCHEDULE | 1 | 37 | 1 (0)| 00:00:01 |
|* 17 | INDEX UNIQUE SCAN | SCHEDULE_PK | 1 | | 0 (0)| 00:00:01 |
| 18 | BUFFER SORT | | 3 | 105 | 208K (1)| 00:00:09 |
| 19 | VIEW | VW_LAT_B4E6951E | 3 | 105 | 9 (0)| 00:00:01 |
| 20 | VIEW | VW_ORE_A774FCAE | 3 | 105 | 9 (0)| 00:00:01 |
| 21 | UNION-ALL | | | | | |
| 22 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 104 | 3 (0)| 00:00:01 |
|* 23 | INDEX UNIQUE SCAN | AGREEMENT_N2 | 1 | | 2 (0)| 00:00:01 |
|* 24 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 104 | 3 (0)| 00:00:01 |
|* 25 | INDEX UNIQUE SCAN | AGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
|* 26 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 104 | 3 (0)| 00:00:01 |
|* 27 | INDEX UNIQUE SCAN | AGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
| 28 | BUFFER SORT | | 2 | 70 | 210K (1)| 00:00:09 |
| 29 | VIEW | VW_LAT_B4E6951E | 2 | 70 | 6 (0)| 00:00:01 |
| 30 | VIEW | VW_ORE_E1C15686 | 2 | 70 | 6 (0)| 00:00:01 |
| 31 | UNION-ALL | | | | | |
| 32 | TABLE ACCESS BY INDEX ROWID | PROPOSALAGREEMENT | 1 | 104 | 3 (0)| 00:00:01 |
|* 33 | INDEX UNIQUE SCAN | PROPOSALAGREEMENT_N2 | 1 | | 2 (0)| 00:00:01 |
|* 34 | TABLE ACCESS BY INDEX ROWID | PROPOSALAGREEMENT | 1 | 104 | 3 (0)| 00:00:01 |
|* 35 | INDEX UNIQUE SCAN | PROPOSALAGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(COALESCE("ITEM_2","ITEM_2") IS NOT NULL)
6 - access("MISCELLANEOUSINFORMATION"."INFORMATIONTYPE"="MISCELLANEOUSINFOLISTVALUE"."INFORMATIONTYPE"(
+) AND "MISCELLANEOUSINFORMATION"."DETAIL"="MISCELLANEOUSINFOLISTVALUE"."CODE"(+))
9 - filter("MISCELLANEOUSINFORMATION"."OWNERDISCRIMINATOR"=U'AGR' AND
MOD("MISCELLANEOUSINFORMATION"."MISCINFONO",20)=13)
10 - access("MISCINFOINNER"."OWNERENTITYID"="MISCELLANEOUSINFORMATION"."OWNERENTITYID" AND
"MISCINFOINNER"."INFORMATIONTYPE"="MISCELLANEOUSINFORMATION"."INFORMATIONTYPE" AND
"MISCINFOINNER"."MISCINFONO">"MISCELLANEOUSINFORMATION"."MISCINFONO")
12 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALSCHEDULE"."ENTITYID"(+))
15 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="SCHEDULEENTITY"."ENTITYID"(+))
16 - filter("SCHEDULE"."TERMINATIONNUMBER"(+)=0 OR "SCHEDULE"."TERMINATIONNUMBER"(+)=1)
17 - access("SCHEDULE"."ID"(+)="SCHEDULEENTITY"."PRIMARYSCHEDULEID")
23 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID")
24 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID"))
25 - access("SCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER")
26 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID"))
27 - access("PROPOSALSCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER")
filter(LNNVL("SCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER"))
33 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALAGREEMENT"."ENTITYID")
34 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALAGREEMENT"."ENTITYID"))
35 - access("PROPOSALSCHEDULE"."AGREEMENTNUMBER"="PROPOSALAGREEMENT"."AGREEMENTNUMBER")
Statistics
----------------------------------------------------------
14 recursive calls
0 db block gets
1319465 consistent gets
931422 physical reads
0 redo size
1846 bytes sent via SQL*Net to client
597 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
112034 sorts (memory)
0 sorts (disk)
0 rows processed
所以查询 1 返回 0 行。好吧,让我们更改select * from
for 以获得表格的三列。
查询 2
SQL> 1 SELECT ownerDiscriminator , agreementnumber, agreementnumber0
2 from (SELECT
3 MiscellaneousInformation.miscInfoNo,
4 null AS thirdPartyNumber,
5 COALESCE(ProposalAgreement.id,
6 Agreement.id,
7 0) AS alfaAgreementIdentifier,
8 COALESCE(ProposalSchedule.id,
9 Schedule.id,
10 0) AS alfaScheduleIdentifier,
11 COALESCE(ProposalAgreement.agreementNumber, Agreement.agreementNumber) AS AGREEMENTNUMBER,
12 --ProposalAgreement.agreementNumber an1, Agreement.agreementNumber an2,
13 ProposalAgreement.agreementNumber AS AGREEMENTNUMBER0,
14 --CASE WHEN Agreement.agreementNumber IS NOT NULL THEN Agreement.agreementNumber ELSE ProposalAgreement.agreementNumber END AS AGREEMENTNUMBER,
15 COALESCE(Schedule.scheduleNumber,
16 ProposalSchedule.scheduleNumber,
17 0),
18 COALESCE(Schedule.terminationNumber,
19 ProposalSchedule.terminationNumber,
20 0),
21 0 AS lineOfCreditNumber,
22 0 AS securityIdentifier,
23 0 AS caseIdSequenceNumber,
24 MiscellaneousInformation.informationType,
25 MiscellaneousInformation.detail,
26 MiscellaneousInformation.valueAmount,
27 MiscellaneousInformation.dateField,
28 MiscellaneousInformation.valueCurrency,
29 MiscellaneousInfoListValue.description,
30 MiscellaneousInformation.ownerDiscriminator,
31 MiscellaneousInformation.ownerEntityId
32 FROM
33 ALFATS.MiscellaneousInformation
34 LEFT OUTER JOIN
35 ALFATS.MiscellaneousInfoListValue
36 ON (
37 (
38 MiscellaneousInformation.informationType = MiscellaneousInfoListValue.informationType
39 )
40 AND (
41 MiscellaneousInformation.detail = MiscellaneousInfoListValue.code
42 )
43 )
44 LEFT OUTER JOIN
45 ALFATS.ScheduleEntity
46 ON (
47 MiscellaneousInformation.ownerEntityId = ScheduleEntity.entityId
48 )
49 LEFT OUTER JOIN
50 ALFATS.Schedule
51 ON (
52 (
53 Schedule.id = ScheduleEntity.primaryScheduleId
54 )
55 AND (
56 Schedule.terminationNumber IN (
57 0,
58 1)))
59 LEFT OUTER JOIN
60 ALFATS.ProposalSchedule
61 ON (
62 MiscellaneousInformation.ownerEntityId = ProposalSchedule.entityId
63 )
64 LEFT OUTER JOIN
65 ALFATS.Agreement
66 ON (
67 (
68 MiscellaneousInformation.ownerEntityId = Agreement.entityId
69 )
70 OR (
71 Schedule.agreementNumber = Agreement.agreementNumber
72 )
73 OR (
74 ProposalSchedule.agreementNumber = Agreement.agreementNumber
75 )
76 )
77 LEFT OUTER JOIN
78 ALFATS.ProposalAgreement
79 ON (
80 (
81 MiscellaneousInformation.ownerEntityId = ProposalAgreement.entityId
82 )
83 OR (
84 ProposalSchedule.agreementNumber = ProposalAgreement.agreementNumber
85 )
86 )
87 WHERE
88 (
89 (
90 (
91 (
92 MiscellaneousInformation.ownerDiscriminator = N'AGR'
93 )
94 OR (
95 MiscellaneousInformation.ownerDiscriminator = N'SCH'
96 )
97 )
98 AND (
99 NOT (EXISTS (SELECT
100 1
101 FROM
102 ALFATS.MiscellaneousInformation miscInfoInner
103 WHERE
104 ((miscInfoInner.ownerEntityId = MiscellaneousInformation.ownerEntityId)
105 AND (miscInfoInner.informationType = MiscellaneousInformation.informationType)
106 AND (miscInfoInner.miscInfoNo > MiscellaneousInformation.miscInfoNo))))
107 )
108 ) AND (
109 MOD(MiscellaneousInformation.miscInfoNo, 20) = 13
110 )
111 ) )
112 WHERE OWNERDISCRIMINATOR = 'AGR'
113 AND agreementnumber IS not NULL
114* --AND agreementnumber0 IS NOT NULL
115 ;
56017 rows selected.
Elapsed: 00:00:25.63
Execution Plan
----------------------------------------------------------
Plan hash value: 2355278442
-------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 671 | 309K| 210K (1)| 00:00:09 |
|* 1 | FILTER | | | | | |
| 2 | MERGE JOIN OUTER | | 671 | 309K| 210K (1)| 00:00:09 |
| 3 | MERGE JOIN OUTER | | 336 | 147K| 208K (1)| 00:00:09 |
| 4 | NESTED LOOPS OUTER | | 112 | 47936 | 207K (1)| 00:00:09 |
| 5 | NESTED LOOPS OUTER | | 112 | 44128 | 207K (1)| 00:00:09 |
|* 6 | HASH JOIN RIGHT OUTER | | 112 | 35280 | 206K (1)| 00:00:09 |
| 7 | INDEX FAST FULL SCAN | MISCELLANEOUSINFOLISTVALUE_1 | 699 | 13281 | 3 (0)| 00:00:01 |
| 8 | NESTED LOOPS OUTER | | 112 | 33152 | 206K (1)| 00:00:09 |
| 9 | NESTED LOOPS ANTI | | 112 | 22176 | 206K (1)| 00:00:09 |
|* 10 | TABLE ACCESS FULL | MISCELLANEOUSINFORMATION | 11184 | 1212K| 173K (1)| 00:00:07 |
|* 11 | INDEX RANGE SCAN | MISCELLANEOUSINFORMATION_L2 | 13M| 1135M| 3 (0)| 00:00:01 |
| 12 | TABLE ACCESS BY INDEX ROWID| PROPOSALSCHEDULE | 1 | 98 | 2 (0)| 00:00:01 |
|* 13 | INDEX UNIQUE SCAN | PROPOSALSCHEDULE_N2 | 1 | | 1 (0)| 00:00:01 |
| 14 | TABLE ACCESS BY INDEX ROWID | SCHEDULEENTITY | 1 | 79 | 2 (0)| 00:00:01 |
|* 15 | INDEX UNIQUE SCAN | SCHEDULEENTITY_N2 | 1 | | 1 (0)| 00:00:01 |
|* 16 | TABLE ACCESS BY INDEX ROWID | SCHEDULE | 1 | 34 | 1 (0)| 00:00:01 |
|* 17 | INDEX UNIQUE SCAN | SCHEDULE_PK | 1 | | 0 (0)| 00:00:01 |
| 18 | BUFFER SORT | | 3 | 66 | 208K (1)| 00:00:09 |
| 19 | VIEW | VW_LAT_B4E6951E | 3 | 66 | 9 (0)| 00:00:01 |
| 20 | VIEW | VW_ORE_A774FCAE | 3 | 66 | 9 (0)| 00:00:01 |
| 21 | UNION-ALL | | | | | |
| 22 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 98 | 3 (0)| 00:00:01 |
|* 23 | INDEX UNIQUE SCAN | AGREEMENT_N2 | 1 | | 2 (0)| 00:00:01 |
|* 24 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 98 | 3 (0)| 00:00:01 |
|* 25 | INDEX UNIQUE SCAN | AGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
|* 26 | TABLE ACCESS BY INDEX ROWID| AGREEMENT | 1 | 98 | 3 (0)| 00:00:01 |
|* 27 | INDEX UNIQUE SCAN | AGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
| 28 | BUFFER SORT | | 2 | 44 | 210K (1)| 00:00:09 |
| 29 | VIEW | VW_LAT_B4E6951E | 2 | 44 | 6 (0)| 00:00:01 |
| 30 | VIEW | VW_ORE_E1C15686 | 2 | 44 | 6 (0)| 00:00:01 |
| 31 | UNION-ALL | | | | | |
| 32 | TABLE ACCESS BY INDEX ROWID | PROPOSALAGREEMENT | 1 | 98 | 3 (0)| 00:00:01 |
|* 33 | INDEX UNIQUE SCAN | PROPOSALAGREEMENT_N2 | 1 | | 2 (0)| 00:00:01 |
|* 34 | TABLE ACCESS BY INDEX ROWID | PROPOSALAGREEMENT | 1 | 98 | 3 (0)| 00:00:01 |
|* 35 | INDEX UNIQUE SCAN | PROPOSALAGREEMENT_NK | 1 | | 2 (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(COALESCE("ITEM_2","ITEM_2") IS NOT NULL)
6 - access("MISCELLANEOUSINFORMATION"."INFORMATIONTYPE"="MISCELLANEOUSINFOLISTVALUE"."INFORMATIONTYPE"(+
) AND "MISCELLANEOUSINFORMATION"."DETAIL"="MISCELLANEOUSINFOLISTVALUE"."CODE"(+))
10 - filter("MISCELLANEOUSINFORMATION"."OWNERDISCRIMINATOR"=U'AGR' AND
MOD("MISCELLANEOUSINFORMATION"."MISCINFONO",20)=13)
11 - access("MISCINFOINNER"."OWNERENTITYID"="MISCELLANEOUSINFORMATION"."OWNERENTITYID" AND
"MISCINFOINNER"."INFORMATIONTYPE"="MISCELLANEOUSINFORMATION"."INFORMATIONTYPE" AND
"MISCINFOINNER"."MISCINFONO">"MISCELLANEOUSINFORMATION"."MISCINFONO")
13 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALSCHEDULE"."ENTITYID"(+))
15 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="SCHEDULEENTITY"."ENTITYID"(+))
16 - filter("SCHEDULE"."TERMINATIONNUMBER"(+)=0 OR "SCHEDULE"."TERMINATIONNUMBER"(+)=1)
17 - access("SCHEDULE"."ID"(+)="SCHEDULEENTITY"."PRIMARYSCHEDULEID")
23 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID")
24 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID"))
25 - access("SCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER")
26 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="AGREEMENT"."ENTITYID"))
27 - access("PROPOSALSCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER")
filter(LNNVL("SCHEDULE"."AGREEMENTNUMBER"="AGREEMENT"."AGREEMENTNUMBER"))
33 - access("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALAGREEMENT"."ENTITYID")
34 - filter(LNNVL("MISCELLANEOUSINFORMATION"."OWNERENTITYID"="PROPOSALAGREEMENT"."ENTITYID"))
35 - access("PROPOSALSCHEDULE"."AGREEMENTNUMBER"="PROPOSALAGREEMENT"."AGREEMENTNUMBER")
Statistics
----------------------------------------------------------
14 recursive calls
0 db block gets
1437831 consistent gets
637478 physical reads
0 redo size
2796818 bytes sent via SQL*Net to client
41682 bytes received via SQL*Net from client
3736 SQL*Net roundtrips to/from client
112034 sorts (memory)
0 sorts (disk)
56017 rows processed
这怎么可能?我不会失去理智吧?
作为一个测试环境,我确实刷新了缓冲区缓存和共享池,检查了是否有损坏,甚至弹回了数据库。到目前为止,什么都没有。
简短的总结,使用select * from
给我 0 行,使用select field, field, field from
给我正确的行数。
你认为这是一个错误还是我没有考虑的不同之处?
PS 添加 order by 也会更改返回的行数。
更新
移动表段并重建所有索引也没有解决任何问题。我什至尝试使用数据泵来导出模式、删除表空间、在不同的 ASM 磁盘中重建表空间并重新导入。没有效果。
所以,我很清楚这是 12.2 中的一个 BUG,但我找不到具体是哪一个。