Table Properties: Tweaks for large number of records

Hi experts,
I have a small table, about 5 columns, which will store records numbering in millions (at least 7 million). Is there any specific list of properties/checklist that I need to look into and ensure that the db health is good?
Regards,
Anand.

Make sure you have appropriate indexing for your query needs. Make sure you have sufficient and complete declarative integrity constraints in place - yes foreign keys and check constraints matter and affect query plans. Seven million rows is not necessarily a lot, however you might consider how the data is accessed, used, and purged and see if partitioning is appropriate ( if you are licensed for the option). Also, make sure the SQL is efficient as possible - for instance if you are updating this table using a cursor loop, all it will do is get massively slower over time.

Similar Messages

  • Analyze table after insert a large number of records?

    For performance purpose, is it a good practice to execute an 'analyze table' command after inserting a large number of a records into a table in Oracle 10g, if there is a complex query following the insert?
    For example:
    Insert into foo ...... //Insert one million records to table foo.
    analyze table foo COMPUTE STATISTICS; //analyze table foo
    select * from foo, bar, car...... //Execute a complex query whithout hints
    //after 1 million records inserted into foo
    Does this strategy help to improve the overall performance?
    Thanks.

    Different execution plans will most frequently occur when the ratio of the number of records in various tables involved in the select has changed tremendously. This happens above all if 'fact' tables are growing and 'lookup' tables stayed constant.
    This is why you shouldn't test an application with a small number of 'fact' records.
    This can happen both with analyze table and dbms_stats.
    The advantage of dbms_stats is, it will export the current statistics to a stats to table, so you can always revert to them using dbms_stats.import_stats.
    You can even overrule individual table and column statistics by artificial values.
    Hth
    Sybrand Bakker
    Senior Oracle DBA

  • CLIENT_TEXT_IO - Hanging on "PUT" for large number of records

    I have successfully used CLIENT_TEXT_IO but my users have run into an error where the Form hangs and spits out details such:
    "oracle.forms.net.HTTPNStream.doFlush"
    etc....
    This happens when the number of records in the datablock is high (ex: 70,000 recs). So my question is: Is there a limit on how many lines you can write to a file?
    I'm just creating a CSV file on the client's machine using CLIENT_TEXT_IO.PUT_LINE. It works fine on say a few thousand recs but after that it hangs.
    I'm on Oracle Application Server 10g, Release 9.0.4 on Windows Server 2003, and forms compiled using Oracle Developer Suite 9.0.4.
    Thanks,
    Gio

    Hello,
    When playing with huge data, it is better to generate the file on the A.S. then get it back to the client.
    <p>Read this article</p>
    Francois

  • Best way to delete large number of records but not interfere with tlog backups on a schedule

    Ive inherited a system with multiple databases and there are db and tlog backups that run on schedules.  There is a list of tables that need a lot of records purged from them.  What would be a good approach to use for deleting the old records?
    Ive been digging through old posts, reading best practices etc, but still not sure the best way to attack it.
    Approach #1
    A one-time delete that did everything.  Delete all the old records, in batches of say 50,000 at a time.
    After each run through all the tables for that DB, execute a tlog backup.
    Approach #2
    Create a job that does a similar process as above, except dont loop.  Only do the batch once.  Have the job scheduled to start say on the half hour, assuming the tlog backups run every hour.
    Note:
    Some of these (well, most) are going to have relations on them.

    Hi shiftbit,
    According to your description, in my opinion, the type of this question is changed to discussion. It will be better and 
    more experts will focus on this issue and assist you. When delete large number of records from tables, you can use bulk deletions that it would not make the transaction log growing and runing out of disk space. You can
    take the table offline for maintenance, a complete reorganization is always best because it does the delete and places the table back into a pristine state. 
    For more information about deleting a large number of records without affecting the transaction log.
    http://www.virtualobjectives.com.au/sqlserver/deleting_records_from_a_large_table.htm
    Hope it can help.
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Lookups with large number of records do not return the page

    Hi,
    I am developing an application using Oracle JHeadstart 10.1.3 Preview Version 10.1.3.0.78
    In my application I created a lookup under domains and used that lookup for an attribute (Display Type for this attribute is: dropDownList) in a group to get the translation fro this attribute. The group has around 14,800 records and the lookup has around 7,400 records.
    When I try to open this group (Tab), the progress shows that it is progressing but it does not open even after a long time.
    If I change the Display Type for the attribute from dropDownList to textInput then it works fine.
    I have other lookups with lower number of records. Those lookups work fine with dropDownList Display Type.
    Only I have this kind of problem when I have a lookup with large number of records.
    Is there any limitation of record number for lookups under Domains?
    How I can solve this?
    I need to translate the attribute (get the description from another table using the code).
    Your help would be appreciated.
    Thanks
    Syed

    We have also faced similar issue, but us, it was happening when we were using the dropDownList in a table, while the same dropDownList was working in table format. In our case the JVM is just used to crash and after google'ing it here in forums, found that it might be related to some JVM issue on Windows XP machines without Service Pack 2.
    Anyway... the workaround that we taken to get around the issue is to use LOV instead of a dropDownList in your jHeadStart.
    Hope this helps...
    - rutwik

  • Problem fetch large number of records

    Hi
    I want to fetch large number of record from database.and I use secondary index database for improve performance for example my database has 100000 records and query fetch 10000 number of records from this database .I use secondary database as index and move to secondary database until fetch all of the information that match for my condition.but when I move to this loop performance terrible.
    I know when I use DB_MULTIPLE fetch all of the information and performance improves but
    I read that I can not use this flag when I use secondary database for index.
    please help me and say me the flag or implement that fetch all of the information all to gether and I can manage this data to my language
    thanks alot
    regards
    saeed

    Hi Saeed,
    Could you post here your source code, that is compiled and ready to be executed, so we can take a look at the loop section ?
    You won't be able to do bulk fetch, that is retrieval with DB_MULTIPLE given the fact that the records in the primary are unordered by master (you don't have 40K consecutive records with master='master1'). So the only way to do things in this situation would be to position with a cursor in the secondary, on the first record with the secondary key 'master1' retrieve all the duplicate data (primary keys in the primary db) one by one, and do the corresponding gets in the primary database based on the retrieved keys.
    Though, there may be another option that should be taken into consideration, if you are willing to handle more work in your source code, that is, having a database that acts as a secondary, in which you'll update the records manually, with regard to the modifications performed in the primary db, without ever associating it with the primary database. This "secondary" would have <master> as key, and <std_id>, <name> (and other fields if you want to) as data. Note that for every modification that your perform on the std_info database you'll have to perform the corresponding modification on this database as well. You'll then be able to do the DBC->c_get() calls on this database with the DB_MULTIPLE flag specified.
    I have other question.is there any way that fetch information with number of record?
    for example fetch information that located third record of my database.I guess you're refering to logical record numbers, like the relational database's ROW_ID. Since your databases are organized as BTrees (without the DB_RECNUM flag specified) this is not possible directly.You could perform this if use a cursor and iterate through the records, and stop on the record whose number is the one you want (using an incrementing counter to keep track of the position). If your database could have operated with logical record numbers (BTree with DB_RECNUM, Queue or Recno) this would have been possible directly:
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/am_conf/logrec.html
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/am_conf/renumber.html
    Regards,
    Andrei

  • Reporting Services - How to open a second table inside report, for each number of client (each apears in first table)

    Reporting Services - How to open a second table inside report, for each number of client (each apears in first table)?
    Exemple:
    Table1
    Cliente name:
    John
    Client number:
    12345
    Survay number of negative answers:
    3
    Table2
    Questions and answers that were negative:
    Question: How much time where you waiting
    Avaluation: 3 (from 1 to 10)
    Answer: They only called me 1 mouth later
    Can you please help me?

    Hi,
    Based on the description, I understand that you want to add subreport in the main report. When previewing the main report, the subreport can be shown in detail. Please see the screenshots on my test:
    In Reporting Services, we can create parameters and pass them from main report to subreport in order to control the data dynamically.
    References:
    Subreports (Report Builder and SSRS)
    Add a Subreport and Parameters (Report Builder and SSRS)
    If I have any misunderstanding, please feel free to contact me.
    Regards,
    Heidi Duan
    Heidi Duan
    TechNet Community Support

  • BI Loading for Infoobject : Number of records

    Hi Experts,
    When i am loading the data from DS 0wbs_elemt_attr to Infoobject 0wbs_elemt, in rsa3 there are 102117 number of records. but when i run the infopackge i see the number of records are 102035. I would like to know if there are any checkpoints to check as to where should I check for less number of records that are coming up.
    Kindly advise.
    thanks & regards,
    M.S

    Hi experts,
    I deleted everything and reloaded. It is now reflecting 1020117 number of records(dont know how).
    Thankyou guys for your help. Assigned points.
    thanks & regards,
    M.S
    Edited by: M.S on May 7, 2010 12:14 PM

  • How to change Org Unit for larg number of emplyees

    Dear Guru's,
    My client has uploaded wrong Org Units while hiring, now that has to be changed for larg number of employees.
    Can any one suggest me how can we do this for larg number of employees?
    Thanks in advance for your kind suggestions.
    Regards,
    Srinivas

    Hello Srinivas;
    By saying uploaded wrong organizational units, do you mean that organizational structure in PPOME is wrong or employee - position assignment is wrong?
    If employee - position assignment is wrong then I suggest you to use batch input program or use LSMW as you have to change it via personnel action - PA40
    If organizational structure is wrong, then do you have correct organizational structure in another system like test or qa?
    If you have correct organizational structure then you can directly transport it from one system to other but if you don't then you first need to correct the organizational structure and then run LSMW or batch input.
    Regards;
    Okan

  • Which is the best way for posting a large number of records?

    I have around 12000 register to commit to dababase.
    Which is the best way for doing it?
    What depends on ?
    Nowadays I can't commit such a large number of register..The dabatase seems hanged!!!
    Thanks in advance

    Xavi wrote:
    Nowadays I can't commit such a large number of registerIt should be possible to insert tens of thousands of rows in a few seconds using an insert statement even with a complex query such as the all_objects view, and commit at the end.
    SQL> create table t as select * from all_objects where 0 = 1;
    Table created.
    Elapsed: 00:00:00.03
    SQL> insert into t select * from all_objects;
    32151 rows created.
    Elapsed: 00:00:09.01
    SQL> commit;
    Commit complete.
    Elapsed: 00:00:00.00
    I meant RECORDS instead of REGISTERS.Maybe that is where you are going wrong, records are for putting on turntables.

  • Af:table Scroll bars not displayed in IE11 for large number of rows

    Hi. I'm using JDeveloper 11.1.2.4.0.
    The requirements of our application are to display a table potentially displaying very large numbers of rows (sometimes in excess 3 million). While the user does not need to scroll through this many rows, the QBE facility allows drill-down into specific information in the rowset. We moved up to JDeveloper 11.1.2.4.0 primarily so IE11 could be used instead of IE8 to overcome input latency in ADF forms.
    However, it seems that IE11 does not enable the vertical or horizontal scroll bars for the af:table component when the table contains greater than (approx) 650,000 rows. This is not the case when the Chrome browser is used. Nor was this the case on IE8 previously (using JDev 11.1.2.1.0).
    When the table is filtered using the QBE (to a subset < 650,000 rows), the scroll bars are displayed correctly.
    In the code the af:table component is surrounded by an af:panelCollection component which is itself surrounded by an af:panelStretchLayout component.
    Does anyone have any suggestions as to how this behaviour can be corrected? Is it purely a browser problem, or might there be a programmatic workaround in ADF?
    Thanks for your help.

    Thanks for your response. That's no longer an option for us though...
    Some further investigation into the generated HTML has yielded the following information...
    The missing scroll bars appear to be as a consequence of the setting of a style for the horizontal and vertical scroll bars (referenced as vscroller and hscroller in the HTML).  The height of the scrollbar appears to be computed by multiplying the estimated number of rows in the iterator on which the table is based by 16 to give a scrollbar size proportional to the amount of data in the table, although it is not obvious why that should be done for the horizontal scroller.  If this number is greater than or equal to 10737424 pixels then the scroll bars do not display in IE11.
    It would seem better to be setting this height to a sensible limiting number of pixels for a large number of rows?
    Alternatively, is it possible to find where this calculation is taking place and override its behaviour?
    Thanks.

  • Function module for finding number of records in table

    Do we have any function module to find number of records in a table?
    Thanks,
    Shweta

    use the EM_GET_NUMBER_OF_ENTRIES. You just have to write your table name into the input table IT_TABLES in the TABNAME field

  • Slow record selection in tableView component with large number of records

    Hi experts,
    we have a Business Server Page (flow logic) with several htmlb:inputField's. As known from SAP standard we would like to offer value helper (F4) to the users for the ease of record selection.
    We use the onValueHelp() method of the inputField to open a extra browser window through JavaScript. In the popup another html-website is called, containing a tableView component with all available records. We use the SINGLESELECT mode for the table view.
    Everything works perfect and efficient, unless the tableView contains too many entries. If the number of possible entries is large the whole component performs very very slow. For example the selection of the record can take more than one minute. Also the navigation between pages through the buttons at the bottom of the component takes a lot of time. It seems that the tableView component can not handle so many entries.
    We tried to switch between stateful and stateless mode, without success. Is there a way to perform the tableView selection without doing a server-round-trip? Any ideas and comments will be appreciated.
    Best regards,
    Sebastian

    Hi Raja,
    thank you for your hint. I took a look at sbspext_table/TableViewClient.bsp but did not really understand how the Java-Script coding works. Where is the JavaScript code in that example? Which file, does it contain.
    Meanwhile I implemented another way to evite the server round trip.
    - Switch page mode of the popup window to "Stateful"
    - Use OnInitialization method like OnCreate (as shown in [using OnInitialization like OnCreate])
    - Limit the results of the SELECT statement with UP TO 1000 ROWS
    Best regards,
    Sebastian

  • Table memory has Hughe through number of records very low number

    Dear team,
    When I'm checking one table it has below number of records.
    select count(*) from table1
    4980092
    but the space allocated for this table
    select sum(bytes) from user_segments where segment_name = 'table1';
    SUM(BYTES)
    2361712640
    I'm surprised with this size.
    When find the cause,I found the if we are delerting the records memory won't get freed, then i how can i freeup the memory for this table.
    Delete happenning for thie table frequently on daily basis.

    user11081688 wrote:
    Dear team,
    When I'm checking one table it has below number of records.
    select count(*) from table1
    4980092
    but the space allocated for this table
    select sum(bytes) from user_segments where segment_name = 'table1';
    SUM(BYTES)
    2361712640
    I'm surprised with this size.
    why?
    When find the cause,I found the if we are delerting the records memory won't get freed, correct
    then i how can i freeup the memory for this table.
    there is no need to do so, since space will be reused by new rows.
    Delete happenning for thie table frequently on daily basis.if DELETE occurs daily, why is number of rows close to zero?
    how many rows get INSERT daily?
    what is average ROW LENGTH?
    SQL> select 2361712640/4980092 from dual;
    2361712640/4980092
            474.230725
    SQL

  • Need table or FM for PO number in SO lineitems

    Hi guys,
                   I need table name or FM for salesorder lineitem PO number(in order data tab).I checked in VBKD table, but our requirement is- some sales order contains different PO number in header level and  in line item PO number.Users will input ex -
    Header level - X/Y( where X and Y are PO numbers in Header level of SO)
    suppose we have 2 line items
    lineitem1 is updated with X po number and lineitem 2 with Y.
    So i need to pick the PO numbers based on itemlevel and not headerlevel.
    I checked with VBKD table.But  its no where related to my issue.Because the header and item level differs in Po number

    Hi,
    VBKD table shd work for your requirement.
    VBELN        POSNR    BSTKD                               B
    0200005701   000000   1000035.1
    0200005701   000010   1000035.1
    0200005701   000020   1000035.1-test
    I created a test data of different PO's and its coming correct.

Maybe you are looking for

  • Disk error?

    Ok. So I had a high end Macbook Pro 15" Early 2011 that came with Lion and I had upgraded to Mountain Lion. I started having 5 min boot ups a(and still do) I tried everything, almost, CCleaner, clear start up items, disk utility said disk was fine, e

  • External DVD drive in Mac Pro

    I've installed an older external DVD drive, internal in my Mac Pro. I see now that there is slight different in the design of the shuffel. Is it possible in any way to make my old drive, open the 'front door'? Mac Pro   Mac OS X (10.4.8)  

  • LISTENING FOR BACKSPACE WITH A KEY LISTENER

    I have a key listener and I want to know how I find out if backspace has been pressed. Thanks

  • Change web service refresh rate

    I'm running LabVIEW Web Service with an application which follow the method shown in the weather monitor example. But my problem facing here is I need to keep click the refresh button then the Web Service only can update the latest data for me. So ca

  • Still no address bar. There is just a speed dial box where the address bar should. Navagation has a check in it

    There is a check in the navigation box but there is still no address bar. The only thing that is where the address bar should be is speed dial icon. Above that is file, edit, history, etc, Below the speed dial icon there is most visited, getting star