Skip to Content

What is an Extension Index?

Just curious, but when I create a Table Index I have a choic of Index or Extension Index. What is an Extension Index?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • Best Answer
    Posted on Dec 21, 2006 at 05:17 PM

    Yes this is new NetWeaver04s as part of the extension framework.

    In the past it has been common for customers to add their own secondary indexes to SAP tables. However after upgrades, these customer added indexes would be lost because this was viewed as a modification. Not a really big deal as long as you knew to put them back. However on large transactional tables, you could have decreased performance after the upgrade until the index is rebuilt.

    However an extension index is one that the customer can place on an SAP table, but it will not be lost after the upgrade. It is recorded like other Extension Framework objects and is more visible as an extension as well.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Dec 21, 2006 at 04:24 PM

    it is like <b>secondary index</b>.

    See below..

    1. SELECT SINGLE is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search. It selects the first row in the database that it finds that fulfils the 'WHERE' clause. If this results in multiple records then only the first one will be returned and therefore may not be unique.

    If the full key is not specified in a 'SELECT SINGLE' you get a warning message in the Extended Program Check.

    2. You can also create further indexes (other than primary indexex) on a table in the ABAP Dictionary. These are called secondary indexes. This is necessary if the table is frequently accessed in a way that does not take advantage of the sorting of the primary index for the access.

    How well an existing index supports data selection from a table largely depends on whether the data selected with the index represents the data that will ultimately be selected.

    An index is defined on fields FIELD1, FIELD2, FIELD3 and FIELD4 of table BSPTAB in this order. This table is accessed with the SELECT statement:

    SELECT * FROM BSPTAB WHERE FIELD1 = X1 AND FIELD2 = X2 AND FIELD4= X4.

    Since FIELD3 is not specified more exactly, only the index sorting up to FIELD2 is of any use. If the database system accesses the data using this index, it will quickly find all the records for which FIELD1 = X1 and FIELD2 = X2. You then have to select all the records for which FIELD4 = X4 from this set.

    The order of the fields in the index is very important for the accessing speed. The first fields should be those which have constant values for a large number of selections. During selection, an index is only of use up to the first unspecified field.

    Only those fields that significantly restrict the set of results in a selection make sense for an index.

    Additional indexes can also place a load on the system since they must be adjusted each time the table contents change. Each additional index therefore slows down the insertion of records in the table.

    For this reason, tables in which entries are very frequently written generally should only have a few indexes.

    Creating an additional index could also have side effects on the performance. This is because an index that was used successfully for selection might not be used any longer by the optimizer if the optimizer estimates (sometimes incorrectly) that the newly created index is more selective.

    The indexes on a table should therefore be as disjunct 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.

    http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21eb20446011d189700000e8322d00/content.htm

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 21, 2006 at 04:24 PM

    I have never heard of "Extension Index", what release are you on?

    Regards,

    RIch Heilman

    Add comment
    10|10000 characters needed characters exceeded