Not exists Vs not in with Rowid
Hi All,
We have a query and fires great with Not IN Clause. Due to the performance bottle neck wrt to not in we tried it using not exists and the query is not giving desired output.
select * from emp
where rowid not in
select min(rowid)
from emp
group by deptno
)how to rewrite this query with not exists, i have a similar query running in my production creating problem. Min(rowid) is also not allowed in the having clause. How to over come this or write a better query as a replacement to provided one here.
Thanks in advance to the forum users.
Edited by: ramarun on Nov 1, 2010 9:40 PM
Not sure I understand what you are trying to achieve, is it to get all members of the EMP table that are not the first member of each department??
Please confirm / clarify?
regards,
Robert.
Similar Messages
-
Hi All,
We are encountering numerous short dumps in our system caused by Table AUSPN_V1 does not exist in the database with ID R/3.
Can anyone advise how to solve the issue? Please find below portion of the short dumps.
Category ABAP Programming Error
Runtime Errors DBIF_RSQL_TABLE_UNKNOWN
ABAP Program SAPLCLVF
Application Component CA-CL-CL
Date and Time 11.06.2014 12:08:28
Short text
A table is unknown or does not exist.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLCLVF" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
A table is referred to in an SAP Open SQL statement that either does not
exist or is unknown to the ABAP Data Dictionary.
The table involved is "AUSPN_V1" or another table accessed in the statement.
Source Code Extract
Line SourceCde
104 if dupl = kreuz.
105 insert auspc_v2 client specified from table auspcv2
106 accepting duplicate keys.
107 else.
108 insert auspc_v2 client specified from table auspcv2.
109 if syst-subrc ne 0.
110 message a585 with tabausp.
111 endif.
112 endif.
113 refresh auspcv2.
114 endif.
115 read table auspcv3 index 1.
116 if syst-subrc = 0.
117 if dupl = kreuz.
118 insert auspc_v3 client specified from table auspcv3
119 accepting duplicate keys.
120 else.
121 insert auspc_v3 client specified from table auspcv3.
122 if syst-subrc ne 0.
123 message a585 with tabausp.
124 endif.
125 endif.
126 refresh auspcv3.
127 endif.
128 read table auspnv1 index 1.
129 if syst-subrc = 0.
130 if dupl = kreuz.
131 insert auspn_v1 client specified from table auspnv1
132 accepting duplicate keys.
133 else.
>>>>> insert auspn_v1 client specified from table auspnv1.
135 if syst-subrc ne 0.
136 message a585 with tabausp.
137 endif.
138 endif.
139 refresh auspnv1.
140 endif.
141 read table auspnv2 index 1.
142 if syst-subrc = 0.
143 if dupl = kreuz.
144 insert auspn_v2 client specified from table auspnv2
145 accepting duplicate keys.
146 else.
147 insert auspn_v2 client specified from table auspnv2.
148 if syst-subrc ne 0.
149 message a585 with tabausp.
150 endif.
151 endif.
152 refresh auspnv2.
153 endif.Hello
Please check on transaction SE11 if this table exists and if it is active.
Also, it may be a database issue. What is your database?
BR
Caetano -
Not existing can not be inserted
Dear Experts,
I am getting an error message if I am trying to change Purchase Requisition.
There are additional inserted item in the new tbale 'LT_BAPI_NEW'.
In the table 'LT_BAPI_OLD' are only two items. What is wrong there ?
I have thought with this FM it is really possible to change a PReq.
What can I do in this case ?
The item 00030 is not existing can not be inserted.
CALL FUNCTION 'BAPI_REQUISITION_CHANGE'
DESTINATION av_rfc_dest
EXPORTING
NUMBER = '1000115373'
TABLES
REQUISITION_ITEMS_OLD = LT_BAPI_OLD
REQUISITION_ITEMS_NEW = LT_BAPI_NEW
RETURN = LT_BAPIRETURN
EXCEPTIONS
OTHERS = 1.
Friendly Regards
ertasHi,
Refer to this link..[Help me about BAPI_REQUISITION_CHANGE!!!|Help me about BAPI_REQUISITION_CHANGE!!!] -
MATERIAL DOES NOT EXISTS OR NOT ACTIVATED
Dear Experts,
I want to change Material Master data. I have downloaded the material list from data base table MARC plant data for materials.
i want to extend the material master view. but system is issuing the error message - Material dose not exists or not activated. Also it is not showing the material in MM03 & MM60.
But in data base table MARC it is showing the material code with details.Hi Kiran,
The material type must be HAWA, well you would be able to get this info, if an entry in MARA exists. So from where are you getting the material type?
Anyways just check this, enter the material nos. in MM01 & select Basic Data 1 & click create, check what message you get, should provide you the clues. Also check how this material was created. It could be possible that it was created via some custom program.
Creat the view & then you will be able to resolve the issue. Check the above & revert if you face any issues.
Regards,
Vivek -
The material 332-369090-00 does not exist or not activated
Hi Experts,
Kindly Look at into this error which I am facing in the PRD system.
Materials listed below doesn't exist (or) not activated in the Source system.
1. The material 332-369090-00 does not exist or not activated
2. The material 410-051003 does not exist or not activated
2LIS_02_SCL-Purchasing Data (Schedule Line Level) -
This data source is going to the below data targets.
1. Purchasing Data - ZPUR_C01
2. Purchasing Groups - ZPUR_C04
3. Backlogged Purchase Order Schedule Lines ZPUR_C10
Like this no of materials available in BWPRD but not available in R/3 PRD source system .so how to delete specific master data records for material
Regards
Pinky
Edited by: pinky reddy on Jul 27, 2009 2:09 PM
Edited by: pinky reddy on Jul 27, 2009 2:09 PMEasiest way to solve this is to check the mara table in R/3. try and find your material there. If its not there, then it either has been manually created or loaded from a different source system. Check all the source systems if anyone has loaded them. Then check your cubes and ODSs if you can find any transactional data for these materials. If yes, then there is a possiblity that maybe it was created to correct a failed load. You should then identify the document and compare the same on in R/3.
If this material is used in any transaction data, then you can simply delete it. RSA1-> Find the infoobject(characteristic)-> Maintain master data-> Give the material nos-> select the row and press the delete button.
Regards. -
RSPC Variant does not exist - Could not find or load print parameters
We are on BI 7.0 (support pack SAPKW70017). We recently freshed test system from production. After the refresh, we have problems opening all the process chains.
1. When I go to RSPC to open a process chain, I get many messages like this:
Variant &0000000067180 does not exist (there are different variant numbers)
Message no. DB612
Diagnosis
You selected variant &0000000067180 for program RSPROCESS.
This variant does not exist.
2. When I go to SM21 to check the system log, it displays many entries like below:
EJ F Could not find or load print parameters for step 1, job BI_PROCESS_TRIGGER/09134500
Documentation for system log message EJ F :
An error occurred during loading of the print parameters for a
background job step.
The print parameter record may have been deleted even though there was
a still a step that needed that data. This is an error as the
reorganization of the print parameters should prevent this from
happening.
To fix the problem, edit the step and save it, copy the job, or
schedule a new job. The print parameters will be regenerated in all
these cases.
3. I applied the OSS note 1169659 - Correction: Process variants not entered by BDLS. The Basis rerun BDLS. But it did not fix the problem.
Would appreciate if someone could provide any help.
Thank you.Hi Rebecca.
1) Please verify if exist process types called 'unknown job'. If exist: delete process types called 'unknown job' in your process chain. To do that please remove the chain from scheduling (menu bar > process chain > remove from schedule), afterwards switch the detail view on (menu bar > view) > right mouse click on the process type "unknown job" > displaying scheduled jobs > delete that job. After deletion of the 'unknown jobs' activate and schedule your process chain again.
2) After the removal of the 'unknown jobs' please check if the error messages with the missing variants pop up when calling your process chain disappears. If not, please implement and execute the attached report Z_FIND_JOBS_WITHOUT_VARIANT which deletes the jobs without variants.
I have already attached report as Report Z_FIND_JOBS_WITHOUT_VARIANT, you can download and create the report accordingly.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
REPORT Z_FIND_JOBS_WITHOUT_VARIANT.
data: l_t_job type table of tbtcp with header line,
l_s_varsel TYPE rsvar,
l_t_variant TYPE TABLE OF rsparams.
parameters: delete type rs_bool.
select * from tbtcp as job into table l_t_job
where progname = 'RSPROCESS'
and exists ( select * from tbtco
where jobname = job~jobname
and jobcount = job~jobcount
and status = 'S' ).
loop at l_t_job.
l_s_varsel-report = l_t_job-progname.
l_s_varsel-variant = l_t_job-variant.
CALL FUNCTION 'RS_VARIANT_CONTENTS'
EXPORTING
report = l_s_varsel-report
variant = l_s_varsel-variant
execute_direct = 'X'
TABLES
valutab = l_t_variant
EXCEPTIONS
variant_non_existent = 1
variant_obsolete = 2
OTHERS = 3.
if sy-subrc <> 0.
write: / l_t_job-jobname, l_t_job-jobcount.
if delete = 'X'.
CALL FUNCTION 'BP_JOB_DELETE'
EXPORTING
JOBCOUNT = l_t_job-jobcount
JOBNAME = l_t_job-jobname
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
write 'not deleted'.
else.
write 'successfully deleted'.
ENDIF.
endif.
endif.
endloop.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
I hope I can be helpful.
Thanks,
Walter Oliveira. -
Why APEX 4.1 Error handling function does not trap the error of missing table?
Say, I create simple application with single IR report page and I also assign standard simple error handling function.
Function works perfectly, except but this case:
If I just drop a table used by report page and then refresh the page I am getting usual APEX error message:
ORA-20001: get_dbms_sql_cursor error ORA-00942: table or view does not exist
and error handling function is not invoked at all.
Is this a feature or a bug?Hi,
Check the corrections given in the note 990764:
Reason and Prerequisites
Up to now, using a characteristic with its own master data read class as the InfoProvider was not supported. This is now released but it is not available for all modelings. Using the attributes in the query is not supported for characteristics that have their own master data read class. Using the attributes in the query causes a termination. The following errors may occur in this case:
ORA-00942: table or view does not exist
Fehler in CL_SQL_RESULT_SET Include NEXT_PACKAGE
RAISE_READ_ERROR in CL_RSDRV_VPROV_BASE
Solution
SAP NetWeaver 2004s BI
Import Support Package 11 for SAP NetWeaver 2004s BI (BI Patch 11 or SAPKW70011) into your BI system. The Support Package is available once Note 0914305 "SAPBINews BI 7.0 Support Package 11", which describes this Support Package in more detail, has been released for customers.
In urgent cases you can implement the correction instructions.
The correction instructions contain the tightened inspection for characteristics.
Regards,
Anil Kumar Sharma .P -
Boot device not found. "Hard disk not exist". windows not booting
Product: HP G72-110SA
OS: Win7
two days ago, I was installing updates on my computer and when it was about to restart, it froze. After waiting for 10 minutes, I had to turn it off by pressing the off button. From then on, the computer turns on but shows a message "Boot device not found".
I have tried all the BIOS tests that I could find on the net for the hard disk, eg: http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01443465&tmp_task=solveCategory&cc=uk&dlc=en&la...
This gives me a "Hard disk not exist" error. I tried resetting the BIOS, that didn't work. I tried taking out and putting back in the battery, the memory and the hard disk. Still no luck.
I then booted ubuntu from cd on the computer. It works just fine, including the internet etc EXCEPT the HDD is still not detected.
I had some pretty important stuff and no back up, so would appreciate if someone can help me get back the data. If not, even if I know its just a HDD failure and not a motherboard/BIOS problem, it will be a relief as its probably fixable.
ThanksHi there ,
Thank you for visiting the HP Support Forums and Welcome! This is a great site to get answers and ask questions. I would be happy to assist you. As there are many models of HP Notebooks, I would need the model number. (How Do I Find My Model Number or Product Number?) When I went to www.hp.com/go/techcenter/startup, it gave me documentation and troubleshooting steps to follow. One of the documents it provided is called Hard Disk Error Displays before the Computer Starts. NOTE: I recommend at this point you make an immediate backup of all important data and files. Here are instructions on how to Backing Up Your Files (Windows 8). Please follow the troubleshooting steps provided, re-post with the results of the troubleshooting in detail. Thank you. -
Asm diskgroup does not exist or not mounted
Hi,
iam have configured a 2 node cluster and now when i rebooted and again started my rac database so all the applications are offline so i stop them with crs_stop and then restarted but my databases asm and instance service is not up so in that case i tried to connect to database or to instance but i was not able to so then i thought of connecting to asm instance and then the status is as follows
SQL> select name ,state ,mount_status from v$asm_disk ;
NAME STATE MOUNT_S
NORMAL CLOSED
NORMAL CLOSED
FG_0000 NORMAL CACHED
SQL> alter database open ;
alter database open
ERROR at line 1:
ORA-15000: command disallowed by current instance type
SQL> alter diskgroup all mount ;
alter diskgroup all mount
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15130: diskgroup "DG1" is being dismounted
ORA-15066: offlining disk "DG1_0001" may result in a data loss
SQL>
SQL>
so in that cse the contents are as follows
on Jul 11 21:58:46 2011
Dirty detach reconfiguration started (old inc 2, new inc 2)
List of nodes:
0 1
Global Resource Directory partially frozen for dirty detach
* dirty detach - domain 1 invalid = TRUE
0 GCS resources traversed, 0 cancelled
Dirty Detach Reconfiguration complete
Mon Jul 11 21:58:46 2011
freeing rdom 1
Mon Jul 11 21:58:47 2011
WARNING: dirty detached from domain 1
Mon Jul 11 21:58:47 2011
ERROR: diskgroup DG1 was not mounted
Mon Jul 11 21:58:47 2011
WARNING: PST-initiated MANDATORY DISMOUNT of group DG1 not performed - group not mounted
Mon Jul 11 21:58:47 2011
Errors in file /u01/app/oracle/admin/+ASM/bdump/+asm1_b000_18030.trc:
ORA-15001: diskgroup "DG1" does not exist or is not mounted
ORA-15001: diskgroup "DG1" does not exist or is not mounted
so iam not able to figure out please help me in solving this
Thanks in Advance
Regards
KavitaHi,
Sir i wait for many times but the major issue is iam facing that all aplications when i start my machine are offline or unknown........ then when i exec crsctl stop crs and crsctl start crs i wait a lot and then i exec crrs_stat t that time all applications are either unknown or offline............ then i stop forcily all applications which are unknown finally bring all to offline status and then restart but in this case i exec srvctl start nodeapps - n rac1 and nrac2 these things work but tried with database or service or instnace that ownt work it give me the following error
and then i sart instance or database through sqlplus and if i do any transcations then i get the follwoing error .........
PRKP-1001 : Error starting instance devdb1 on node rac1
CRS-0215: Could not start resource 'ora.devdb.devdb1.inst'
and now if iam trying to start my asm instance iam have already posted through what iam getting and this i have tried for 2 diffemt 2 node cluster but facing the same issue
2011-07-12 22:02:02.500: [ CRSRES][3772144560]0startRunnable: setting CLI values
2011-07-12 22:02:03.235: [ CRSRES][3772144560]0Attempting to start `ora.prod1.LISTENER_PROD1.lsnr` on member `prod1`
2011-07-12 22:02:06.197: [ CRSRES][3772144560]0Start of `ora.prod1.LISTENER_PROD1.lsnr` on member `prod1` succeeded.
Sir this from
(0x8364680) pid() proto(10:2:1:1)
[ CSSD]2011-07-12 22:46:09.669 [91069360] >TRACE: clssgmClientConnectMsg: Connect from con(0x8350880) proc(0x8364680) pid() proto(10:2:1:1)
[ CSSD]2011-07-12 22:47:03.826 [91069360] >TRACE: clssgmClientConnectMsg: Connect from con(0x8352a08) proc(0x8364680) pid() proto(10:2:1:1)
[ CSSD]2011-07-12 22:47:04.385 [91069360] >TRACE: clssgmClientConnectMsg: Connect from con(0x835bf18) proc(0x835ed88) pid() proto(10:2:1:1)
[ CSSD]2011-07-12 22:47:17.938 [91069360] >TRACE: clssgmClientConnectMsg: Connect from con(0x835bf18) proc(0x8364680) pid() proto(10:2:1:1)
[ CSSD]2011-07-12 22:48:27.641 [91069360] >TRACE: clssgmClientConnectMsg: Connect from con(0x8350880) proc(0x8364680) pid() proto(10:2:1:1)
Thanks in Advance
Regards
Kavita -
Basic NOT EXISTS query not returning any results
DB Version: 10gR2
One of our tables in the test schema is having less number of columns than the PROD shema.
To determine which are missing columns in this table in Test schema i did the following.
-----In Test Schema
CREATE TABLE XYZ2
(COL1 NUMBER); ----------only one column
SQL > CREATE TABLE tables_test_list AS SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLS;
Table created.--- In the prod schema
SQL> CREATE TABLE XYZ2
2 (COL1 NUMBER,
3 COL2 NUMBER ----------- same table name with an extra column
4 );
Table createdAnd from the PROD schema i execute the following SQL to determine what are the columns that are missing in the TEST schema
select column_name from User_Tab_Cols outer
where table_name='XYZ2'
and not exists (select 1 from TEST_SCHEMA.tables_test_list inner where outer.TABLE_NAME=inner.TABLE_NAME )But the above query is not returning any results. Any idea why?Actually, the example from the link I posted earlier:
[email protected]> (
2 select 'IN T1, NOT T2', column_name,data_type,data_length
3 from user_tab_columns
4 where table_name = 'T1'
5 MINUS
6 select 'IN T1, NOT T2', column_name,data_type,data_length
7 from user_tab_columns
8 where table_name = 'T2'
9 )
10 UNION ALL
11 (
12 select 'IN T2, NOT T1', column_name,data_type,data_length
13 from user_tab_columns
14 where table_name = 'T2'
15 MINUS
16 select 'IN T2, NOT T1', column_name,data_type,data_length
17 from user_tab_columns
18 where table_name = 'T1'
19 )
20 / -
Have two computers. One has Thunderbird working fine. Other won't let me sign on to Thunderbird, despite ALL info being exactly the same (incoming server, outgoing server, ports, password, etc) Very frustrating. Any suggestions?
Delete your browser history,
Hold the Alt key down and type these letters TD, (or Gear symbol on the top right/ Internet options/ Delete button)
Check All of the boxes and Uncheck the very top box,
Click on Delete.
Close ie,
Reset ie9 or ie10 manually,
Click the Start button on the Taskbar,
Click on Control panel,
Click on Internet options,
Go to the Advanced section,
Click on Reset button on the bottom,
Check the box to Delete personal settings,
Use the recommended setup and install options.
Shut down your machine.
http://windows.microsoft.com/en-us/internet-explorer/manage-add-ons#ie=ie-10-win-7
http://windows.microsoft.com/en-IN/windows7/How-to-manage-add-ons-in-Internet-Explorer-9 -
What is IS NULL doing in replacing NOT EXISTS operator with an outer join?
DB version:10gR2
An example from searchoracle.target.com
The query which contains a NOT EXISTS operator
SELECT M.ModulId, M.Modul FROM MODULE M
WHERE NOT EXISTS
( SELECT PROJEKTMODUL.IdModul
FROM PROJEKTMODUL
WHERE M.ModulId = PROJEKTMODUL.IdModul
AND PROJEKTMODUL.IdProjekt = 23 )is replaced by an equivalent outer join query
select distinct
M.ModulId
, M.Modul
from MODULE M
left outer
join PROJEKTMODUL
on M.ModulId = PROJEKTMODUL.IdModul
and PROJEKTMODUL.IdProjekt = 23
where PROJEKTMODUL.IdProjekt is nullI don't understand what
PROJEKTMODUL.IdProjekt is nullis doing in the above rewritten query.It is to perform an Anti-Join. As far as I know Oracle (starting with release 10g - I thought Release 1) rewrites your NOT EXISTS and NOT IN query to a Anti Join which looks like your second query.
Look at the results of the query without the IS NULL predicate and see which records (from that set) should be selected to show the same results as the first query. The records of interest match the predicate IS NULL. -
Error: A 'with' action failed because the specified object did not exist.
The weird thing is when i play the file on my computer it
gives me the little error but shows up, but when its live on the
internet it says its not working and doesnt show up. Can anyone
help me with this error?
Level #0: Frame=20
Movie Clip: Frame=1 Target="_level0.instance2"
Movie Clip: Frame=1 Target="_level0.mc_0"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_1"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_2"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_3"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_4"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_5"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_6"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_7"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_8"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_9"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_10"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_11"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_12"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_13"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_14"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_15"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_16"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_17"
Shape:
Movie Clip: Frame=1 Target="_level0.ctrl_mc"
Movie Clip: Frame=1 Target="_level0.instance1"
Movie Clip: Frame=1 Target="_level0._root.prev_photo"
Shape:
Movie Clip: Frame=1 Target="_level0.mc_current_photo"
Shape:
Movie Clip: Frame=0 Target="_level0.mask_mc"
Movie Clip: Frame=1 Target="_level0.mask_mc.mask_clip_mc"
Movie Clip: Frame=0
Target="_level0.mask_mc.mask_clip_mc.mask2_mc"
Movie Clip: Frame=1 Target="_level0.soundControl"
Movie Clip: Frame=1 Target="_level0.soundControl.instance8"
Shape:
Movie Clip: Frame=0 Target="_level0.mask_whole_mc"
Movie Clip: Frame=1 Target="_level0.control"
Movie Clip: Frame=8 Target="_level0.control.myLoader"
Shape:
Movie Clip: Frame=1
Target="_level0.control.myLoader.instance9"
Edit Text:
Target="_level0.control.myLoader.instance9.instance10798" Variable=
Visible=true Text = loading."
Movie Clip: Frame=1 Target="_level0.tishi"
Shape:
Edit Text: Target="_level0.tishi.instance5" Variable=
Visible=true Text = CONTROL PANEL"
Movie Clip: Frame=1 Target="_level0.mc_mouse"
Shape:
Movie Clip: Frame=2 Target="_level0.mc"
Movie Clip: Frame=1 Target="_level0.mc.booor"
Shape:
Button: Target="_level0.mc.booor.next"
Shape:
Shape:
Button: Target="_level0.mc.booor.prev"
Shape:
Shape:
Movie Clip: Frame=1 Target="_level0.mc.booor.autoplay"
Button: Target="_level0.mc.booor.autoplay.instance6"
Shape:
Shape:
Edit Text:
Target="_level0.mc.booor.autoplay.instance6.instance7" Variable=
Visible=true Text = PAUSE"
Text:
Edit Text: Target="_level0.mc.booor.photo_title" Variable=
Visible=true Text = exterior18"
Error: A 'with' action failed because the specified object
did not exist.
Error: A 'with' action failed because the specified object
did not exist.
Error: A 'with' action failed because the specified object
did not exist.show your code with the trace() function that indicates the
object is defined (along with the output panel's result). -
Hi everyone,
I need some explanation on why the index is not being used in one of my queries.
Here are the queries:
SELECT COUNT (1)
FROM (SELECT hdr.ALLOC_HDR_SEQ_NBR hdrnbr
FROM sm_vda_allocation_header hdr
INNER JOIN
sm_vda_type vdatype
ON hdr.vda_typ_cd = vdatype.vda_typ_cd
WHERE
vdatype.SAP_POST_TYP_CD = 'JE'
AND vdatype.vda_alloc_flg = 'Y'
AND hdr.vda_liab_flg IS NULL
AND hdr.sap_extrct_dt IS NULL
AND hdr.ALLOC_HDR_SEQ_NBR NOT IN
(SELECT alloc_hdr_seq_nbr
FROM sm_vda_allocation_detail));
return 0 rows.
explain plan::
Plan
SELECT STATEMENT CHOOSECost: 671 Bytes: 26 Cardinality: 1
8 SORT AGGREGATE Bytes: 26 Cardinality: 1
7 HASH JOIN Cost: 671 Bytes: 293,254 Cardinality: 11,279
1 TABLE ACCESS FULL SM_APPL.SM_VDA_TYPE Cost: 5 Bytes: 56 Cardinality: 7
6 MERGE JOIN ANTI Cost: 665 Bytes: 281,106 Cardinality: 15,617
3 TABLE ACCESS BY INDEX ROWID SM_APPL.SM_VDA_ALLOCATION_HEADER Cost: 496 Bytes: 241,860 Cardinality: 20,155
2 INDEX FULL SCAN UNIQUE SM_APPL.SM_VDA_ALLOCATION_HEADER_PK Cost: 438 Cardinality: 20,450
5 SORT UNIQUE Cost: 169 Bytes: 417,480 Cardinality: 69,580
4 INDEX FAST FULL SCAN NON-UNIQUE SM_APPL.SM_VDA_ALLOCATION_DETAIL_FK_I Cost: 86 Bytes: 417,480 Cardinality: 69,580
2nd query::
SELECT COUNT (1)
FROM (SELECT hdr.ALLOC_HDR_SEQ_NBR hdrnbr
FROM sm_vda_allocation_header hdr
INNER JOIN
sm_vda_type vdatype
ON hdr.vda_typ_cd = vdatype.vda_typ_cd
WHERE
vdatype.SAP_POST_TYP_CD = 'JE'
AND vdatype.vda_alloc_flg = 'Y'
AND hdr.vda_liab_flg IS NULL
AND hdr.sap_extrct_dt IS NULL
AND NOT exists
(SELECT 1
FROM sm_vda_allocation_detail b where
hdr.ALLOC_HDR_SEQ_NBR = b.ALLOC_HDR_SEQ_NBR));
explain plan:::
Plan
SELECT STATEMENT CHOOSECost: 831 Bytes: 20 Cardinality: 1
6 SORT AGGREGATE Bytes: 20 Cardinality: 1
5 FILTER
3 HASH JOIN Cost: 828 Bytes: 14,560 Cardinality: 728
1 TABLE ACCESS FULL SM_APPL.SM_VDA_TYPE Cost: 5 Bytes: 56 Cardinality: 7
2 TABLE ACCESS FULL SM_APPL.SM_VDA_ALLOCATION_HEADER Cost: 822 Bytes: 12,096 Cardinality: 1,008
4 INDEX RANGE SCAN NON-UNIQUE SM_APPL.SM_VDA_ALLOCATION_DETAIL_FK_I Cost: 3 Bytes: 90 Cardinality: 15
In the 2nd query with NOT EXISTS, I see FULL table scan for SM_APPL.SM_VDA_ALLOCATION_HEADER
In the first query, the index is used in the same place:
2 INDEX FULL SCAN UNIQUE SM_APPL.SM_VDA_ALLOCATION_HEADER_PK Cost: 438 Cardinality: 20,450
ALLOC_HDR_SEQ_NBR is a primary key column.
Actually NOT IN and NOT EXISTS both used index for the second inner table (SM_APPL.SM_VDA_ALLOCATION_DETAIL).
But NOT exists is not using the index for the first table but not in is using.
how come.872605 wrote:
Hi everyone,
I need some explanation on why the index is not being used in one of my queries.
Here are the queries:
SELECT COUNT (1)
FROM (SELECT hdr.ALLOC_HDR_SEQ_NBR hdrnbr
FROM sm_vda_allocation_header hdr
INNER JOIN
sm_vda_type vdatype
ON hdr.vda_typ_cd = vdatype.vda_typ_cd
WHERE
vdatype.SAP_POST_TYP_CD = 'JE'
AND vdatype.vda_alloc_flg = 'Y'
AND hdr.vda_liab_flg IS NULL
AND hdr.sap_extrct_dt IS NULL
AND hdr.ALLOC_HDR_SEQ_NBR NOT IN
(SELECT alloc_hdr_seq_nbr
FROM sm_vda_allocation_detail));
return 0 rows.
explain plan::
Plan
SELECT STATEMENT CHOOSECost: 671 Bytes: 26 Cardinality: 1
8 SORT AGGREGATE Bytes: 26 Cardinality: 1
7 HASH JOIN Cost: 671 Bytes: 293,254 Cardinality: 11,279
1 TABLE ACCESS FULL SM_APPL.SM_VDA_TYPE Cost: 5 Bytes: 56 Cardinality: 7
6 MERGE JOIN ANTI Cost: 665 Bytes: 281,106 Cardinality: 15,617
3 TABLE ACCESS BY INDEX ROWID SM_APPL.SM_VDA_ALLOCATION_HEADER Cost: 496 Bytes: 241,860 Cardinality: 20,155
2 INDEX FULL SCAN UNIQUE SM_APPL.SM_VDA_ALLOCATION_HEADER_PK Cost: 438 Cardinality: 20,450
5 SORT UNIQUE Cost: 169 Bytes: 417,480 Cardinality: 69,580
4 INDEX FAST FULL SCAN NON-UNIQUE SM_APPL.SM_VDA_ALLOCATION_DETAIL_FK_I Cost: 86 Bytes: 417,480 Cardinality: 69,580
2nd query::
SELECT COUNT (1)
FROM (SELECT hdr.ALLOC_HDR_SEQ_NBR hdrnbr
FROM sm_vda_allocation_header hdr
INNER JOIN
sm_vda_type vdatype
ON hdr.vda_typ_cd = vdatype.vda_typ_cd
WHERE
vdatype.SAP_POST_TYP_CD = 'JE'
AND vdatype.vda_alloc_flg = 'Y'
AND hdr.vda_liab_flg IS NULL
AND hdr.sap_extrct_dt IS NULL
AND NOT exists
(SELECT 1
FROM sm_vda_allocation_detail b where
hdr.ALLOC_HDR_SEQ_NBR = b.ALLOC_HDR_SEQ_NBR));
explain plan:::
Plan
SELECT STATEMENT CHOOSECost: 831 Bytes: 20 Cardinality: 1
6 SORT AGGREGATE Bytes: 20 Cardinality: 1
5 FILTER
3 HASH JOIN Cost: 828 Bytes: 14,560 Cardinality: 728
1 TABLE ACCESS FULL SM_APPL.SM_VDA_TYPE Cost: 5 Bytes: 56 Cardinality: 7
2 TABLE ACCESS FULL SM_APPL.SM_VDA_ALLOCATION_HEADER Cost: 822 Bytes: 12,096 Cardinality: 1,008
4 INDEX RANGE SCAN NON-UNIQUE SM_APPL.SM_VDA_ALLOCATION_DETAIL_FK_I Cost: 3 Bytes: 90 Cardinality: 15
In the 2nd query with NOT EXISTS, I see FULL table scan for SM_APPL.SM_VDA_ALLOCATION_HEADER
In the first query, the index is used in the same place:
2 INDEX FULL SCAN UNIQUE SM_APPL.SM_VDA_ALLOCATION_HEADER_PK Cost: 438 Cardinality: 20,450
ALLOC_HDR_SEQ_NBR is a primary key column.
Actually NOT IN and NOT EXISTS both used index for the second inner table (SM_APPL.SM_VDA_ALLOCATION_DETAIL).
But NOT exists is not using the index for the first table but not in is using.
how come.WHY MY INDEX IS NOT BEING USED
http://communities.bmc.com/communities/docs/DOC-10031
http://searchoracle.techtarget.com/tip/Why-isn-t-my-index-getting-used
http://www.orafaq.com/tuningguide/not%20using%20index.html -
Licecache table missing Table MATRIXINDE does not exist in the database wit
Hello,
We recently done a system copy of our APO system, everything went well. in case of Livecache there are 2 problem
1) when we do the integration for LCA/LDA/LCA while we mentione the Livecache server it is not taking the host name , it is only picking the IP address of the livecache server. If we tried host name, it times out.
2) once we give the IP address as livecache server we can start the live cache server. Bure there is only two tables in it
when we run
transaction Livecache Check (/SAPAPO/OM03) we get the erro i.e.Table MATRIXINDE does not exist in the database with ID LCA
runtime error DBIF_RSQL_TABLE_UNKNOWN
When we look into the tables there are only 2 tables in it
AAPSYSNAME
LCA_WARNINGS
when I compare with other system...it is missing a lots of other tables..
We did re-initialized the livecache.
Appreciate your help in thisHello Sudhir,
1) Did you create the SAP ticket where this issue is reported?
2) It's good to know more details about the APO version, liveCache/LCA versions on your
source & target systems.
What note or document did you follow to do a system copy of our APO system?
3) Please pay attention to the recommendations in the SAP notes:::
877203 Post steps after the Homogenous liveCache copy usi u2026
886103 System Landscape Copy for SAP SCM
Thank you and best regards, Natalia Khlopina
Maybe you are looking for
-
Display sales orders due list in a week
hi , i want to display sales orders due list in a week what are the tables need to be referred? Rgds Umakanth Edited by: Alvaro Tejada Galindo on Feb 21, 2008 5:06 PM
-
Clock icon always displays 10:15:00
Hi, It's more a comment than a question but the icon for the calendar always displays the correct date, the icon for messages displays the number of new messages. So why is it that the icon for the clock doesn't display the correct time ? I suppose u
-
i recently purchased a sony portable bluetooth speaker (http://store.sony.com/WFS/SNYUS/en_US/-/USD/-zid27-SRSX5/RED/cat-SNYUSCompletene ssChecks-catid-SNYUS-NOTIFYME-PROD?k_id=4da79509-aa3b-0649-dacf-0000399003c0&kpi d=SRSX5%2fRED&adparam=sem73pla&X
-
Activity icon always running on certain websites
When viewing certain websites in Safari (such as AllThingsD) the Activiy icon is always spinning. If I switch to another tab, the icon will disappear after a few seconds, but will return as soon as I switch back to the offending websites. Is there so
-
How to obtain Video and Non Video Serial Keys for Premiere Pro CS6
Discovered that certain codec presets (specifically the AVCHD codec) was not available for Premiere Pro CS6 installed under Creative Cloud for Enterprise. Understand there are two different serial numbers for use in installation. One of these serial