How to check duplicate in a very large table
How to check duplicate value (say mobile number) in a table having 50 million records
I need to know whether the data(Mobile Number) is already there in the table whenever a new row is inserted
You can also use the MERGE statement and the WHEN NOT MATCHED clause to insert rows only if that value is not there.
But if you are just checking the one column then a unique index would do it.
Does that column allow a NULL value?
Do you care about existing duplicate values?
If you only want to check NEW inserts then create a UNIQUE constraint and use the ENABLE NOVALIDATE clause:
http://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm
ENABLE NOVALIDATE ensures that all new DML operations on the constrained data comply with the constraint. This clause does not ensure that existing data in the table complies with the constraint.
That will check new data but leave the old data alone - no performance hit for the old data.
Similar Messages
-
How to get duplicate rows in a large table
I have a table which consists of 26 columns and 2 milion records..while doing validation i suspect there are duplicate records in that table...
Is there any way to check duplicate rows in a table?I went through link..in all the messages query is for 2 or 3 columns...but my scenario is i have 26 columns ...and i suspect there is duplicate row inserting .for which value is same for all 26 columns .how should i do .?
do i need to do group by all 26 columns and do having count(*) ...26 times? -
How to check duplicate entries in internal table??
Dear Friends,
How to check duplicate entries in internal table??
Exp: In my internal table if I am having the same records more then ones then I need to print the error message, here I am using steploop for selecting the values from screen, and the values are coming into my internal table if user enter the same value more then ones I need to print the error message.
Thanks,
SridharHi,
After storing the data into internal table say ITAb, move the data into another internal table.
t_dup[] = itab[].
LOOP AT itab.
count1 = count1 + 1.
itab-count1 = count1.
MODIFY itab.
ENDLOOP.
LOOP AT t_dup.
count2 = count2 + 1.
t_dup-count2 = count2.
MODIFY t_dup.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM itab.
LOOP AT t_dup.
record_dup = 'N'.
READ TABLE itab WITH KEY count1 = t_dup-count2.
IF sy-subrc = 0.
record_dup = 'Y'.
ENDIF.
IF record_dup NE 'Y'.
t_dup-message = 'DUPLICATE ENTRY'.
t_dup-flag = 1.
MODIFY t_dup.
ENDIF.
ENDLOOP.
Use this sample code.
Reward pts if it is helpfull.
Regards
Srimanta -
How to check the records in Master Data Table?
Hi,
I am trying to load the Master Data Table using the Flat File.Now how to check the records in Master Data Table?
I done the following way:
Info Provider->Info Object->Right Click->Display Data or Maintain Master Data
But it's not showing the records.It's asking like CID from......To......
CID(SID)from.............To.......
here CID means customer id(characteristic).
and showing some settings.
Please guide me.
Thanks & RegardsHi Sri,
Go to T- code RSD1 and type your info object name and open the P- table in the infoobject then select execute symbol to see the updated data in to master data info object.
regards
sap -
How to check the Statistics generated for a table through DBMS_STATS.
Hi,
How to check the statistics generated for a Table through DBMS_STATS.GATHER_TABLE_STATS procedure ?
Please let me know.
Thanks !
Regards,
RajasekharRajasekhar wrote:
Hi,
How to check the statistics generated for a Table through DBMS_STATS.GATHER_TABLE_STATS procedure ?
Please let me know.
Thanks !
Regards,
Rajasekharquery ALL_TABLES -
How to check the data of an archived table.
I have archived a table created by me. I have executed the write program for the archiving object in SARA. Now how can check the data of my archived table.
Hello Vinod,
One thing to check in the customizing settings is your "Place File in Storage System" option. If you have selected the option to Store before deleting, the archive file will not be available for selection within the delete job until the store job has completed successfully.
As for where your archive file will be stored - there are a number of things to check. The archive write job will place the archive file in whatever filesystem you have set up within the /nFILE transaction. There is a logical file path (for example ARCHIVE_GLOBAL_PATH)where you "assign" the physical path (for example UNIX: /sapmnt/<SYSID>/archivefiles). The logical path is associated with a logical file name (for example ARCHIVE_DATA_FILE_WITH_ARCHIVE_LINK). This is the file name that is used within the customizing settings of the archive object.
Then, the file will be stored using the content repository you defined within the customizing settings as well. Depending on what you are using to store your files (IXOS, IBM Commonstore, SAP Content Server, that is where the file will be stored.
Hope this helps.
Regards,
Karin Tillotson -
How to check duplicate invoice
Hi
How to check the duplicate invoice postings?
Is there is any tcode to check the duplicate invoice postings?
Kindly need your inputs?
-PrabuHi
you can download the List of Invoices from RBKP table usiong SE16 whcih stores the Reference invoice number , if two invoice have similar refernce number then this is aduplaicate invoice. Check the Purchase order to Verify the Same
Thanks & Regards
Kishore -
How can NI FBUS Monitor display very large recorded files
NI FBUS Monitor version 3.0.1 outputs an error message "Out of memory", if I try to load a large recorded file of size 272 MB. Is there any combination of operating system (possible Vista32 or Vista64) and/or physical memory size, where NI FBUS Monitor can display such large recordings ? Are there any patches or workarounds or tools to display very large recorded files?
Hi,
NI-FBUS Monitor does not set the limitation on the maximum record file size. The physical memory size in the system is one of the most important factors that affect the loading of large record file. Monitor will try loading the entire file into the memory during file open operation.
272MB is a really large file size. To open the file, your system must have sufficient physical memory available. Otherwise "Out of memory" error will occur.
I would recommend you do not use Monitor to open a file larger than 100MB. Loading of a too large file will consume the system memory quickly and decrease the performance.
Message Edited by Vince Shen on 11-30-2009 09:38 PM
Feilian (Vince) Shen -
How to load duplicate data to a temporary table in ssis
i have duplicate data in my table.i want to load unique records in one destination .and i want to load duplicate data in a temporary table in another destination. .how can we impliment package for this
Hi V60,
To achieve your goal, you can use the following two approaches:
Use Script Component to redirect the duplicate rows.
Use Fuzzy Grouping Transformation which performs data cleaning tasks by identifying rows of data that are likely to be duplicates and selecting a canonical row of data to use in standardizing the data. Then, use a Conditional Split Transform to redirect
the unique rows and the duplicate rows to different destinations.
For the step-by-step guidance about the above two methods, walk through the following blogs:
http://microsoft-ssis.blogspot.in/2011/12/redirect-duplicate-rows.html
http://hussain-msbi.blogspot.in/2013/02/redirect-duplicate-rows-using-ssis-step.html
Regards,
Mike Yin
TechNet Community Support -
Deleting rows from very large table
Hello,
I need to delete rows from a large table, but not all of them, so I can't use truncate. The delete condition is based on one column, something like this:
delete from very_large_table where col1=100;
There's an index (valid, B-tree) on col1, but it still goes very slow. Is there any instruction which can help delete rows faster?
Txh in adv.
A.Your manager doesn't agree to your running an EXPLAIN PLAN? What is his objection? Sounds like the prototypical 'pointy-hair boss'.
Take a look at these:
-- do_explain.sql
spool explain.txt
-- do EXPLAIN PLAN on target queries with current index definitions
truncate table plan_table
set echo on
explain plan for
<insert query here>
set echo off
@get_explain.sql
-- get_explain.sql
set linesize 120
set pagesize 70
column operation format a25
column query_plan format a35
column options format a15
column object_name format a20
column order format a12
column opt format a6
select lpad(' ',level) || operation "OPERATION",
options "OPTIONS",
decode(to_char(id),'0','COST = ' || NVL(to_char(position),'n/a'),object_name) "OBJECT NAME",
cardinality "rows",
substr(optimizer,1,6) "OPT"
from plan_table
start with id = 0
connect by prior id = parent_id
There are probably newer, better ways, but this should work with all living versions of Oracle and is something I've had in my back pocket for several years now. It's not actually executing the query or dml in question, just running an explain plan on it. -
How to avoid Duplicate Records while joining two tables
Hi,
I am trying to join three tables, basically two tables are same one is like history table, so I wrote a query like
select
e.id,
e.seqNo,
e.name,
d.resDate,
d.details
from employees e,
((select * from dept)union(select * from dept_hist)) d
join on d.id=e.id and e.seqno=d.seqno
but this returing duplicate records.
Could anyone please tell me how to avoid duplicate records of this query.Actually it is like if the record is processed it will be moved to hist table, so both table will not have same records and I need the record from both the tables so i have done the union of both the tables, so d will have the union of both records.
But I am getting duplicate records if even I am distinct. -
How to check the data in a temporary table
Hi,
A procedure inserting data into a temporary table , data exists in the table now. so, how to see the data from the temporary table. Is it possible to see from the sqlplus by selecting, right now i'm not getting any data. .thanks Bcj.If you are referring to Global Temporary Tables, then the only way to see the contents of the table are to select from the table while connected to the same session that inserted the data into the GTT.
Please note however that there is not a 1 to 1 correspondence between sessions and users (shcemas). A user may be connected to 1 or more sessions, but it is only the session that inserted the records that will be able to view the records. -
How do I open and use a large table from Word in Pages?
I upgraded my MBP from Snow Leopard to Mountain Lion a couple days ago. I knew that my old Word application wouldn't work, but several Apple people assured me that Pages could handle my old docs, including tables.
So, I purchased and installed Pages '09 this morning. I opened the table I use all the time - - and most of it is missing! Apparently, Pages doesn't handle large tables.
I need help - desperately! This table contains all my medical expenses for the year, so I have to have it.
ThanksJ,
Besides needing to have your Table Object Floating, you should know that the maximum number of rows in Pages Tables is 999.
If you continue to have problems opening your Word document and its table in Pages, try one of the free Office Clones, LibreOffice, OpenOffice, IBM Lotus Symphony, etc.
I'd bet that at least one of those free apps will work if Pages doesn't. By the way, have you tried viewing your Word document in Quick Look? To do that, click on the filename in Finder and hit the Spacebar key. You won't be able to do anything but view the document in Quick Look, but it would give you confidence that your file is OK.
Jerry -
How to check all columns existing in a table?
Hello.
I'm writing a function that returns average value of every numeric column existing in a database.
I have a general idea how to do it, but I need just one more thing, look at the expamle:
select table_name from user_tables where rownum=1
this allows me to select names of all tables, and then I can access them 1 by 1...
But now i have a little problem - how to access all the atributes in selected table in this way?
Oh, and I have a problem with this rownum... For example it works for 1 (shows 1st row - name of first table) but does not for 2, or greater number :(.
And expresions like rownum < 5 work, but rownum > 3 not :/. What may be the reason?
Thank you for help!
Regards.user13483761 wrote:
Thanks a lot! This 3 atributes is all I need, its a way lot easier than I thought before. I simply use cursor loop and your advices.
Almost got working code - but there is 1 error telling that select is incorrect :/. Why is that?
create or replace
FUNCTION SHOW_ALL
RETURN VARCHAR2 IS
v_ret VARCHAR(100):='Null';
BEGIN
DECLARE
CURSOR cur_stats IS SELECT table_name, column_name, data_type
FROM user_tab_columns;
v_zdanie VARCHAR(100);
BEGIN
FOR v_cur IN cur_stats LOOP
IF v_cur.data_type = 'NUMBER'
THEN
strike
--> select 'In table ' || v_cur.table_name || ' average value of ' ||--
--> v_cur.column_name || ' is:' || avg(v_cur.column_name)--
--> into v_zdanie--
--> from v_cur.table_name;--
strike
>
dbms_output.put_line(v_zdanie);
END IF;
END LOOP;
RETURN v_ret;
END;
END SHOW_ALL;
select 'In table ' || v_cur.table_name || ' average value of ' ||
v_cur.column_name || ' is:' || avg(v_cur.column_name)
into v_zdanie
from v_cur.table_name;
sql_developer tells that this 'table or perspective does not exist' or sth like that, I translated from my native language.You are missing lot of things in the function, you are hard coding the return value to null?
What you should do is as below:
remove the part what you have written, i have strike that above. declare a variable your_select_statement VARCHAR2(1000);
your_select_statement := 'select nvl(avg('||v_cur.column_name||'),0) from '||v_cur.table_name;
execute immediate your_select_statement into v_zdanie;
dbms_output.put_line('In table ' || v_cur.table_name || ' average value of ' ||v_cur.column_name || ' is:' ||v_zdanie); -
How to check if a field in the table is same in all rows??
Hi Folks,
Is there a feature in abap where we can check if a field in a table is same in all rows.
Thanks,
MattThis can be easily self-programmed
read itab index 1. "get first row
"now check if exeists any entry with different value
read itab with key field1 ne itab-field1 transporting no fields.
if sy-subrc = 0.
"not all rows have the same value
else.
"all rows have the same value
endif.
Regards
Marcin
Right now I noticed that using NE operator is not allowed in READ TABLE statement, but you can do simple loop instead
read itab index 1 into l_field1. "get first row
loop at itab where field1 ne l_field1.
flag = 'X'.
exit.
endloop.
if flag = 'X'.
write: 'some fields are not equal'.
endif.
Edited by: Marcin Pciak on Oct 6, 2009 5:35 PM
Maybe you are looking for
-
How to call a method of servlets like we do in struts like "get.do?method=getData". I know servlets are called defacult method either dopost or doget are called but can i call any other in the servlet and if yes how can i do that?
-
I don't what happen, but when I got my new computer with the Windows 8 it synched my 4S just fine. Now it keeps saying that the "USB device not recognized." And it won't even connect with itunes.
-
I'm having a problem in getting my double to convert to a string, here's my code so far. public void calculatePayments() double paymentAmount; double monthlyInterestRate = (Double.parseDouble(interestBox.getText())/12)/100;
-
I want to remove whats on this laptop's iTunes, how?
My hubs let me have his old MacBook Pro so I want to get rid of his stuff on iTunes and put my awesome heavy metal noise on it, where do I start? I had everything on my MacMini but the HDD had a heart attack and died lol...i just wanna get my stuff h
-
Cuda monitor update /trying to use PPro in a professional setting
This posting dissapeared????? repost When Cuda acceleration is turned on monitors will not update unless I move one frame forward or back, so I have to turn GPU off when making adjustments, then tirn it back on for playback. Mac Quadro 4000 I have