Buffering and creation of secondary indexes.

Hi All,
I have a table that has more than 6 million records, due to which performance is slow during the transaction search, kindly let me know if Buffering and creation of secondary indexes will help me.
I am given to understand that creation of seconary indexes and full buffering may not always improve performance. Kindly let me know when it is advised to go for full buffering.
Regards,
Thiru

Hi,
create  secondary index  for the table
check below link
http://help.sap.com/saphelp_nw70/helpdata/en/cf/21eb20446011d189700000e8322d00/content.htm
Regards,
Madhu

Similar Messages

  • Creation of secondary indexes for table "RSBATCHCTRL_PAR" failed

    Hi ,
    We have installed EHP1 on our BI7.0 system successfully, later we are trying to apply SPS01 for this EHP but we got the follwoing error during TBATG conversion.
    2 EGT092 Conversion of table "RSBATCHCTRL_PAR" was restarted
    2 EGT241 The conversion is continued at step "6"
    2 EGT246 Type of conversion: "T" -> "T"
    2 EGT240XBegin step "RSBATCHCTRL_PAR-STEP6":
    4 EGT281 sql:
    4 ED0314 CREATE
    4 ED0314 INDEX [RSBATCHCTRL_PAR~DB] ON [RSBATCHCTRL_PAR]
    4 ED0314 ( [JOBNAME] ,
    4 ED0314 [JOBCOUNT] ,
    4 ED0314 [SERVER] ,
    4 ED0314 [HOST] ,
    4 ED0314 [WP_NO] ,
    4 ED0314 [WP_PID] ,
    4 ED0314 [PROCESS_TYPE] )
    4 ED0314 WITH ( ONLINE=OFF )
    4 ED0314 ON [PRIMARY]
    2 ED0314 Line 1: Incorrect syntax near '('.
    3 EDA093 "DDL time(___1):" ".........6" milliseconds
    2EEGT236 The SQL statement was not executed
    2EEDI006 Index " " could not be created completely in the database
    2EEGT221 Creation of secondary indexes for table "RSBATCHCTRL_PAR" failed
    2EEGT239 Error in step "RSBATCHCTRL_PAR-STEP6"
    2 EGT253XTotal time for table "RSBATCHCTRL_PAR": "000:00:00"
    2EEGT094 Conversion could not be restarted
    2 EGT067 Request for "RSBATCHCTRL_PAR" could not be executed
    1 ED0327XProcess..................: "ferrari_12"
    1 ED0302X=========================================================================
    1 ED0314 DD: Execution of Database Operations
    1 ED0302 =========================================================================
    1 ED0327 Process..................: "ferrari_12"
    1 ED0319 Return code..............: "0"
    1 ED0314 Phase 001................: < 1 sec. (Preprocessing of TBATG)
    1 ED0314 Phase 002................: < 1 sec. (Partitioning)
    1 ED0309 Program runtime..........: "< 1 sec."
    1 ED0305 Date, time...............: "03.06.2009", "12:47:21"
    1 ED0318 Program end==============================================================
    1 ETP166 CONVERSION OF DD OBJECTS (TBATG)
    1 ETP110 end date and time   : "20090603124721"
    1 ETP111 exit code           : "8"
    1 ETP199 ######################################
    System properties:
    SAP - BI7.0 with EHP1
    Database - MSSQL 2000
    OS - Windows2003
    Please suggest.
    Thanks in advance,
    Pavan.

    > We have installed EHP1 on our BI7.0 system successfully, later we are trying to apply SPS01 for this EHP but we got the follwoing error during TBATG conversion.
    > 2 ED0314 Line 1: Incorrect syntax near '('.
    > 3 EDA093 "DDL time(___1):" ".........6" milliseconds
    > 2EEGT236 The SQL statement was not executed
    This is a known problem with SQL Server 2000, see
    Note 1180553 - Syntax error 170 during index creation on SQL 2000
    I highly suggest upgrading to SQL Server 2005 or 2008.
    Markus

  • Does dropping bitmap index and creation of b- index cause any dead locks

    Does dropping a bitmap index on table which is being used continuously for DML operations and creation of b- index cause any dead locks on a table
    in oracle 10g database
    ( 10.1.0.4.0 - 64bi).
    we have seen alert log file which has dead lock occurrence.. would index change/re-creation resulted dead lock or some other reason?
    Could you please give us info or help us on this.. thanks in advance..

    Bitmap indexes can be the cause of deadlocks on busy systems.
    Dropping indexes may cause some locking.
    Creating indexes may cause some locking.
    You haven't given any traces or scripts or lock information, so difficult to say which one (if any) was the cause of your deadlocks.
    It would be better to do this activity when the system is not busy.

  • Creation of secondary indexes due to heavy flow of messages in ecc smq2

    Hi gurus,
    So we are facing smq2 issues from last 15 days in Ecc system due to some Time Limit Exceed and some times Object is Locked by the user xxxx
    So finally we decided to go for creating seconday indexes in Ecc side , So here my question is there any thing required from Pi side while creating
    Secondary indexes why i am asking this question is there is no issues From PI end after reaching to target(ECC) system only messages got stucking
    in smq2 and facing issues .Below is the interface details.
    ECC-FSCM
    SAP ECC 6.0
    FSCM
    CreditCommitment_In and CreditCommitment_Out
    CC_ProxySender_FSCM
    CC_ProxyReceiver_FSCM
    Plz reply back .
    Regards
    Madhu

    If you had gone through the replies in your previous post, Iñaki Vilaand myself already provided the report name which needs to be scheduled to clear the messages in queues.
    Plz provide the permanent fix for this issue

  • Creation of secondary index on RSPCPROCESSLOG table

    Hello guys,
    We have detected severe performance issues while executing the transaction ST03n in our BW 3.5 System.
    Looking in the OSS notes we found the note "SAP Note 841324 - ST03N: poor performance for process chain profile" where it recommends the creation of a secondary index in the table RSPCPROCESSLOG  with the following features:
    Create another secondary index on the RSPCPROCESSLOG table with the
    following fields:
    - INSTANCE
    - TYPE
    Can you please let us know what is the step by step to proceed with the creation of this secondary index?
    Thanks for your help.
    Kind regards

    Please ask questions about Oracle Text (formerly interMedia text) in the Oracle Text forum. You will get a quicker, more expert answer there.

  • Creation of Secondary Index

    Hi...
    Scenario:
    I have loaded BX and BF as per practice. However, i am not getting current stock values for materials which had 0 opening stock when BX was pulled (I did not select checkbox 'Zero stock to be transferred'). Note 823951 suggests executing program 'SAP_REFPOINT_COMPLETE' in such scenario.
    Probelm:
    The note suggests creating an index on all dimensions except time. However, the E table for 0IC_C03 is in local package both on development and production system. Hence, am unable to create and transport the index. How do we create secondary index on InfoCube?
    Also, when the program is executed in check mode (without creating the suggested index) it ran for almost 7 hrs without any result. Does this program take huge time to complete even in check mode?
    Thanks & Regards,
    Anoop Sahu

    Hi,
    You can create index from Data Dictionary also.
    Goto se11-> choose table radio button -> give your table name -> click on change
    this will shows the table fields screen.
    In that screen select Create Index button -> Choose the required field.
    Every table should maintain a primary index when table was created based on the primary key of that table. if we create new index then it is called secondary index.
    usng above procedure u can create secondary index. Just try
    Regards,
    BRS

  • Three questions about the creation of secondary indexes in ODS design mode

    1. When we right click the Indexes folder in ODS design to select Create to create the Index folder 010, a small window pops up with a check box called "Unique", do we have to check this checkbox to create folder 010?
    2. If we would like to include 3 InfoObjects into the secondary indexes, then how many folders we need to create? Need to create 3 folders like 010, 020, and 030 and place the 3 InfoObj. into the 3 folder respectively or create only one folder 010 and place all the 3 InfoObj. into this one folder 010?
    3. In SAP documentation titled "BW Performance Tuning" about the Indices, it says "If the (uncompressed) F fact table is small, it is usually faster to drop the secondary (bitmap) indices before the load and build them up after the load"
    Someone here says secondary index is only for ODS other than for cubes, but from the above statement, F fact table is related to cubes, then how to explain it? Also the above statement is talking above the variant in process chain that when you bring in a variant to load data to cube, then the drop index and generate index variants will be automatically created, does it refer to this? And what's bitmap index?
    Thanks in advance and we will continue to give you reward points!

    Hi Kevin,
    Cube has Secondary index's. The index's that we find in the Manage of the Cube are the Secondary Index's. Please check the following link for more information.
    http://help.sap.com/saphelp_erp2004/helpdata/en/80/1a6473e07211d2acb80000e829fbfe/frameset.htm
    Also, to know about Unique indexes, use the following link
    http://help.sap.com/saphelp_erp2004/helpdata/en/9b/c743f5b40711d194f900a0c929b3c3/frameset.htm
    "The indexes displayed are the secondary indexes of the F and E fact tables for the InfoCube. The primary indexes and those defined by the user are not displayed. " (SAP help).
    This should answer your questions.
    Regards,
    Praveen.

  • Slow secondary indexes creation

    I have a database table where each record is a fixed length of 16 bytes and the key length is 4 bytes.
    The table has ~3G records, giving file size of 61GB.
    The access method is DB_QUEUE.
    I'm using the 5.1.25 version.
    I'm trying to create two secondary indexes using DB_HASH as access method.
    I set the pagesize to 65K, cachesize to 65M.
    When I start to build the indexes I see that the creation time of the indexes will take me something like 3 days which I think is reasonable. But after a day the performances are dropping drastically, giving me approximately creation time of 1 month.
    What should I do in order to boost performance on such case?
    Edited by: 868434 on Jun 26, 2011 2:07 AM

    Hi,
    I set the pagesize to 65K, cachesize to 65M.You probably mean 64KB; see the DB->set_pagesize() documentation.
    When I start to build the indexes I see that the creation time of the indexes will take me something like 3 days which I think is reasonable. But after a day the performances are dropping drastically, giving me approximately creation time of 1 month. Are you recreating the secondary indexes on a regular basis? If so, what is the reason for this?
    Once you open, associate and populate the secondary (using the DB_CREATE flag for the associate() call), you should keep the secondary databases around and not remove them just to recreate them again. Whenever the primary database is updated, the appropriate updates are performed in the secondaries as well to reflect the changes; see Secondary indexes documentation section.
    Opening (creating a new database file handle) and populating a secondary database on open are potentially very expensive operations; see the subheading on DB_CREATE in the DB->associate() documentation section.
    What should I do in order to boost performance on such case?The best approach would be to not remove and recreate the secondary indexes regularly, but rather create, populate and keep them around as long as the application runs.
    If however you need to recreate them again and again, and given that they use the Hash access method, here are some suggestions:
    1. If you have a support contract and can access MOS (My Oracle Support) have a look over Doc ID 463613.1 and Doc ID 463507.1 notes in the KM repository (they discuss tuning Hash databases' configuration for speeding up insertion times).
    If you cannot access them, let me know and I can make a summary with further guidance.
    2. Review the Hash access method specific configuration doc section and try to experiment with appropriately calculated values for the density / page fill factor, hash table size (estimated no of elements that will be stored in the database), and with a hash function that evenly distributes the (secondary) keys across buckets (and eventually with a Hash key comparison function that sorts the keys appropriately respecting their structure/format, data type and size).
    3. I assume that this is happening in a transactional environment. If so, it might worth trying to use a transaction handle in the DB->associate() call, which has been opened with the DB_TXN_WRITE_NOSYNC or DB_TXN_NOSYNC flag (see DB_ENV->txn_begin()).
    Some general tuning suggestions, that could be used are also given in the following documentation sections: Access method tuning, and Transaction tuning.
    Regards,
    Andrei

  • Issue in dropping an index when doing Online Index drop and Creation

    Hi All,
    We have done an implementation, wherein, we are creating Online indexes and dropping them when we have a new Release, and a new build. What we do is, we take the difference in existing DB indexes and the ones present in our script, and then a script is executed which drops/modifies/creates new index.
    However, what is happening is when we are carrying out some activity in our application, the script tries
    to drop an index and fails with "Resource Busy and acquire with NOWAIT."
    Any ideas how to handle this situation. Or should we segregate dropping of old indexes and creation of new indexes?

    cause for this problem:
    Resource Busy and acquire with NOWAIT:
    Whenever you try to do any structural changes on a table oracle try to lock the table exclusively with NOWAIT option(this is in 10.2g while in 11g you can change the wait timeout). If oracle fails to lock the table exclusively then ORA-00054 will occur.
    Solution for this: (try this link)
    http://arjudba.blogspot.com/2009/01/ora-00054-resource-busy-and-acquire.html
    http://oracle-error.blogspot.com/2008/10/ora-00054-resource-busy-and-acquire.html
    RSD

  • Is it worth creating secondary index on BKPF table ?

    Hello,
    One of my clients is using ECC version 5.0. I have a requirement wherein I need to fetch the data from BKPF table based on AWKEY, BUKRS and GJAHR. There is no standard secondary index available.
    I have decided to create a secondary index on these fields in the following order:
    1) MANDT
    2) AWKEY
    3) BUKRS
    4) GJAHR
    I know that creating secondary indexes does improve performance during data retrieval. But when I checked the total number of entries in BKPF table in production system, there are more than 20 lac 2 million records.
    I am worried that creation of secondary index will create another table of such a large size in production that has data sorted on the above fields. Also, the RAM of production system is 6 GB.
    Please suggest if creation of secondary index is a good measure OR should I recommend the client to increase the system RAM?
    Regards,
    Danish.
    Edited by: Thomas Zloch on Oct 3, 2011 3:01 PM

    Hi,
    Secondary Index on BKPF-AWKEY has been successfully created in production. The report which used to timeout in foreground as well as in background is now executing in less than 10 seconds !!
    Client is very much satisfied with this. But, there is one problem that we are facing now is that when the user is changing an existing billing document via VF02, on SAVE, system takes a very long time to save the changes done.
    We monitored the processes via SM50 and found that there was a sequential read on BKPF table.
    Before transporting the index in production, system approximately took not more than 5 seconds to save the Billing Document. But now system takes more than 20 minutes just to save the billing document via VF02.
    I really don't know what has gone wrong. I can't figure out if I have missed any step while creating the index.
    I did the following,
    1) Created a Secondary index on BKPF, saved it in the transport request and activated it. Since the index was not existing in database ORACLE, I activated and adjusted the table via SE14. Now, index exists on database as well. Working perfectly in development.
    2) Imported the transport request to Production. Checked in SE11. Index was existing and active. Also, index existed in database ORACLE.
    Have I missed anything ? Is it required to activate and adjust the database via SE14 in production too ?
    Regards,
    Danish.

  • Regarding secondary index

    how and when we create secondary indexes and what are the advantages and disadvantages of secondary indexes?

    Hi
    Index: Technical key of a database table.
    Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database.
    Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table.
    Structure of an Index
    An index can be used to speed up the selection of data records from a table.
    An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read.
    When creating indexes, please note that:
    An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position.
    Only those fields whose values significantly restrict the amount of data are meaningful in an index.
    When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes.
    Make sure that the indexes on a table are as disjunctive as possible.
    (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)
    Accessing tables using Indexes
    The database optimizer decides which index on the table should be used by the database to access data records.
    You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table.
    The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z.
    If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database.
    When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated
    Regards

  • DSO activation problem after creating the secondary indexes

    Hi,
        I am facing the problem with DSO activation after creating the secondary indexes.
    •  Compared with Info Cubes there is no functionality available which allows dropping and recreating a secondary index before/after the data activation.
    As a workaround I can write a simple report which drops and creates the indexes on database level.
    By using a process chain, we can simply insert the drop index report before data activation and the create index report after the data activation process.
    Can any body help me step by step procedure or Material to write the programs for delete index and create index reports on DSO object?..
    Thanks in advance for your help.
    Thanks & Regards,
    Bala

    hi,
    in BI if you are using the dso for reporting then you can simply chk the settings of dso for SID generation.
    no need to create the indexes or delete it.
    if the dso is not used for report then no need to use indexes.
    Ramesh

  • How does BDB update its secondary index?

    I am asking how does Berkeley DB update its secondary index?
    For example, in a BDB table with key value pair ``<k,v1>``, the index database would have reversed pair like ``<v1,k>``. Upon an insert (or essentially an update) ``<k,v2>``, base table record ``<k,v1>`` should be overwritten to ``<k,v2>``.
    But how would BDB deal with ``<v1,k>`` in the index table? Will it delete it immediately?

    Hi,
    As long as you correctly open the primary database and secondary index database, and associate the secondary index database with the primary, any update on the primary database will be reflected in the secondary index.
    For more information, please refer to Reference Guide for Berkeley DB -> Chapter 3.  Access Method Operations -> Secondary Indexes section.
    Regards,
    Cindy Zeng

  • Transaction DB02 = Missing Tables and Indexes shows under Secondary indexes from package $tmp

    Hi SAP Gurus,
    I noticed on our SAP business warehouse (BW) system (NetWeaver 7.0 based on AIX/Oracle 11g) in transaction DB02 => Diagnostics => Missing Tables and Indexes under Secondary indexes, 26 indexes, in package $tmp:
    The indexes are defined, but they don't have been created on the database.
    When I try to create them via the database tool, I am getting the warning:
    Does the warning raise up, because they where defined in the $tmp package?
    I was looking in SAP notes for a solution for this "warning" concerning the /BIC/F-Indexes but I didn't found yet anything helpful ...
    Thanks for your help and ideas ...
    Best regards
    Carlos

    Hi Carlos,
    These are secondary indexes created during process chains in BI to improvise performance.
    You may refer below SCN blogs on creation of these indices in BI.
    Secondary Index - Improving DSO insert/read performance
    How to Create Secondary Index on DSO in SAP BW
    Hope this helps.
    Regards,
    Deepak Kori

  • Difference between primary eindex and secondary index?

    hi experts
    pls answer me
    difference between primary eindex and secondary index?
    rewads apply.
    thanks.
    naresh.

    hi,
    check this link.
    http://help.sap.com/saphelp_47x200/helpdata/en/cf/21eb2d446011d189700000e8322d00/frameset.htm
    A difference is made between Primary & Secondary indexes to a table. the primary index consists of the key fields of the table and a pointer to the non-keys-fields of the table. The Primary index is generated automatically when a table is created and is created in the datebase as the same times as the table. It is also possible to define further indexes to a table in the ABAP/4 dictionary, which are then referred to as Secondary indexes.
    Always it is not mandatory that an index should have all the key fields of a table. To see the index of a table
    goto SE11->specify table name->click on the indexes... button on the application toolbar.
    Based on your requirement you can you any of those index fields in the where clause of your query. Always its a better practice to use the index fields in the order specified. While selecting the records from a table it is always better to select the fields in the same order as specified in the table.

Maybe you are looking for