Should I add index on VBRP for performance

Hi All,
I developed a Report. Here -
SELECT statement of VBRP table is taking too much time for execution.
SELECT vbeln posnr netwr matnr
      INTO TABLE IT_VBRP
     FOR ALL ENTRIES IN IT_VBAP
     WHERE AUBEL = IT_VBAP-AUBEL
           AND AUPOS = IT_VBAP-AUPOS.
When I check table VBRP - button INDEXED. - No indexed has been defined.
( I know how to create an Index and already did it on ZTable)
I want to know the Pros & Cons if I define an 'INDEX' on VBRP and it goes on Production Server.
Will it make any effect on previous Report or Data?
Is it sensible ?

NO, do NOT add an index.  Read table VBFA forward (subsequent documents), and use that to get your VBRP primary key.  Adding a secondary index is a remedy of last resort.  One should make the effort to obtain the values for the primary table key wherever possible.
Think about it....would SAP have designed the database in such a way that we would need your proposed solution?  And, as Siegfried notes, anyone who reports or works with SD/LE tables should read and heed 185530 before writing a single line of code.

Similar Messages

  • Should I add iBooks or wait for fixes

    As a newer iPad user, I have been hesitant to add apps. I would like to add iBooks but after reading of problems with current version, I wonder if I should wait. Or are the problems occurring only with users upgrading from the previous version?

    Just about any application in existence is declared to be defective and unusable by some group or other. The internet tends to concentrate the negative. A small group can appear to be massive if vociferous enough. Never take anonymous and anecdotal online reports as anything other that what they are. Take the famous (or infamous) case of the iPhone 4 "antennagate" issue for example. A small number of users with various motives and experiences blew the issue up into some massive failure. There were sarcastic, outraged videos posted. The tech press went ballistic. Yet here we are a later and you see or read absolutely nothing about it. Nothing has changed about the iPhone 4's antenna. It's still the same as it was when it was declared to be the issue that would end Apple once and for all. So what happened? Nothing. The antenna issue was blown out of proportion by a small group using the internet to concentrate their negative opinions.
    And so it is with iBooks.

  • Which Event Classes i should use for finding good indexs and statistics for queries in SP.

    Dear all,
    I am trying to use pro filer to create a trace,so that it can be used as workload in
    "Database Engine Tuning Advisor" for optimization of one stored procedure.
    Please tel me about the Event classes which i  should use in trace.
    The stored proc contains three insert queries which insert data into a table variable,
    Finally a select query is used on same table variable with one union of the same table variable, to generate a sequence for records based on certain condition of few columns.
    There are three cases where i am using the above structure of the SP, so there are three SPS out of three , i will chose one based on their performance.
    1) There is only one table with three inserts which gets  into a table variable with a final sequence creation block.
    2) There are 15 tables with 45 inserts , which gets into a tabel variable with a final
    sequence creation block.
    3)
    There are 3 tables with 9 inserts , which gets into a table variable with a final
    sequence creation block.
    In all the above case number of record will be around 5 lacks.
    Purpose is optimization of queries in SP
    like which Event Classes i should use for finding good indexs and statistics for queries in SP.
    yours sincerely

    "Database Engine Tuning Advisor" for optimization of one stored procedure.
    Please tel me about the Event classes which i  should use in trace.
    You can use the "Tuning" template to capture the workload to a trace file that can be used by the DETA.  See
    http://technet.microsoft.com/en-us/library/ms190957(v=sql.105).aspx
    If you are capturing the workload of a production server, I suggest you not do that directly from Profiler as that can impact server performance.  Instead, start/stop the Profiler Tuning template against a test server and then script the trace
    definition (File-->Export-->Script Trace Definition).  You can then customize the script (e.g. file name) and run the script against the prod server to capture the workload to the specified file.  Stop and remove the trace after the workload
    is captured with sp_trace_setstatus:
    DECLARE @TraceID int = <trace id returned by the trace create script>
    EXEC sp_trace_setstatus @TraceID, 0; --stop trace
    EXEC sp_trace_setstatus @TraceID, 2; --remove trace definition
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Is aggregate DB index is required for query performance

    Hi,
    Cube mange tab when i check for the aggregate DB index it shows red, here my doubt is, is the DB index is required for query performance
    is the check statics should be in green?
    Please let me know
    Regards,
    Kiran

    Hi,
    Yes it improves the reports performance..
    Using the Check Indexes button, you can check whether indexes already exist and whether these existing indexes are of the correct type (bitmap indexes).
    Yellow status display: There are indexes of the wrong type
    Red status display: No indexes exist, or one or more indexes are faulty
    You can also list missing indexes using transaction DB02, pushbutton Missing Indexes. If a lot of indexes are missing, it can be useful to run the ABAP reports SAP_UPDATE_DBDIFF and SAP_INFOCUBE_INDEXES_REPAIR.
    See SAP Help
    http://help.sap.com/saphelp_nw2004s/helpdata/en/80/1a6473e07211d2acb80000e829fbfe/content.htm
    Thanks
    Reddy

  • Should Apple add an AVRCP for ipod touch 2G and 3G with bluetooth

    Should they add this serial port in a new update so some bluetooth headphones will function correctly? (AVRCP stands for Audio Video Remote Control Profile) i.e. MotoRokr S9 or S9 HD (this is what i have). The Play/Pause and Next/Previous buttons do not work.
    Message was edited by: artypants2go

    If you have a bug report or feature request, then the proper venue for that is here: Feedback.

  • The permissions granted to user '' are insufficient for performing this operation. (rsAccessDenied)

    when I try to connect to the "http://localhost:8080/ReportServer " I get this error.
    The permissions granted to user 'DOMAIN/USERNAME' are insufficient for performing this operation. (rsAccessDenied).
    I have configered the Reporting services Configuration manager.
    I am an administrator on my machine and on the reportserver DB. when I try to log on the my 2008 R2 reporting services I get a simalar error.
    does any one have an idea of what I am missing?
    thank you.
    Jeff
    Jeff

    Hi There
    Please also have a look on this thread
    http://tanveeronline.blogspot.co.nz/2011/07/ssrs-2008-r2-unable-to-connect-to.html
    http://social.msdn.microsoft.com/Forums/hu-HU/sqlreportingservices/thread/f8a0a3f5-3985-4356-8404-3b408f790747
    http://www.networksteve.com/enterprise/topic.php?TopicId=24217
    In the last section of this thread it get resolved by
    "Changing the ports. Configured TCP port to 9000 and SSL port to 9001.
    And then
    <Add Key="SecureConnectionLevel" Value="0"/>
    Its value was 2, changed it to 0."
    Please have alook on this thread that might help you
    Many thanks
    Syed
    http://tanveeronline.blogspot.co.nz/2011/07/ssrs-2008-r2-unable-to-connect-to.html
    Does not work. I already had the settings which are mentioned in that blog - 
    Try doing the following things
    Go to Reporting Services Conf. Manager.
    1. Change the server account to local account.
    2. Remove the SSL if configured.
    3. Go to C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
    4. Change the  SecureConnectionLevel value to 0 in rsreportserver.config
    Try refreshing the page, it should work now!
    Also tried answer at - http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f8a0a3f5-3985-4356-8404-3b408f790747/ssrs-2008-unable-to-connect-to-remote-server?forum=sqlreportingservices
    Same thing there. SecureConnectionLevel value to 0 is already set for me.
    Third link comment at end says  - 
    Hi Chaitanya, Changing the ports worked for me. Configured TCP port to 9000 and SSL port to 9001. And then <Add Key="SecureConnectionLevel"
    Value="0"/> Its value was 2, changed it to 0. Thanks for all your support Best Regards, Arka Mitra.
    You can set TCP and SSL like this from Reporting services config manager - 
    Web Service URL option (left pane) > Advanced settings button > put the values.
    The TCP can be changged to 9000, but the SSL requires a certificate file. I am stuck here.
    The clue to make your own SSL certificate is here - 
    http://johnhennesey.blogspot.com/2010/10/reporting-services-2008-over-ssl.html
    But, this post is not for windows 7 64 bit, ie my personal pc os. I tried to make the cert on win, 7, but options are complicated. Lets see.
    Here is the issue for the same - https://stackoverflow.com/questions/22314341/cannot-see-self-created-certificate-in-certmanager

  • Safari 5.1 in iMac OS X 10.6.8.Adding Bookmarks to "unsorted Bookmarks" folder puts them in a black hole.  I can't find the "UB" folder.  Where is it? Should I add it to the folder list somewhere on the left pane? OR? Help, please!

    Safari 5.1 in iMac OS X 10.6.8.Adding Bookmarks to "unsorted Bookmarks" folder puts them in a black hole.  I can't find the "UB" folder.  Where is it? Should I add it to the folder list somewhere on the left pane? OR? Help, please!

    It looks like that the installation process of one of the applications have caused some trouble. One of them may have changed or added kext files.
    For that, the Window server crashed if you try to open a non Apple application like Firefox
    Start the system in safe mode by holding the shift key on power on.
    If save mode is reached, perform a permissions repair with the Disk Utility.
    Don't bother about upcoming warnings like "could not repair file xy" as that occur cause you use the tool on a running system and opened files can not get touched by the tool.
    After repair is done reboot system to normal and try to open Firefox.
    If the problem persits, please report back here.
    Lupunus

  • Help:procedure 2 handleunknown indexes inABAP dictionary for BW SAP_BW 350?

    Hi all,
    can anyone help me with the procedure to handle unknown indexes in ABAP dictionary for a BW SAP_BW 350 Production system?
    The list of some of the indexes are as follows :
    /BI0/E0CCA_C11~P
    /BI0/E0FIGL_C01~P
    /BI0/E0OPA_C11~P
    /BI0/E0PS_C04~P
    /BIC/EIEFERC~P
    Thanks a lot in advance ....
    Madhavi Rane

    You should be able to delete and recreate indexes from the infocube performance tab, RSRV or DB02.   The bigger question is why these e fact table indexes are not being handled properly.  I would try searching OSS Notes to see if yo ufind one relevant for your DB;
    This older Notes provides some good background
    Note 594287 - DB6: Corrections to the primary index of fact tables

  • Error in checking FORALL and FOR performance in PL/SQL.!

    I am using FORALL and FOR construct' comparison in term of times taken by them(performance).
    This is whats my problem:
    SQL> SET SERVEROUTPUT ON;
    SQL> CREATE TABLE T1(C1 VARCHAR2(100));
    Table created.
    SQL> declare
    2 t1 number;
    3 t2 number;
    4 t3 number;
    5 begin
    6 for i in 1..10
    7 loop
    8 t1:=dbms_utility.get_time;
    9 insert into t1 values('RAVIKANTH');
    10 end loop;
    11 t2:=dbms_utility.get_time;
    12 forall i in 1..10
    13 insert into t1 values('RAVIKANTH');
    14 t3:=dbms_utility.get_time;
    15 dbms_output.put_line('Time taken for FOR'||TO_CHAR((t2-t1)/100));
    16 dbms_output.put_line('Time taken for FORALL'||TO_CHAR((t3-t1)/100));
    17 end;
    18 /
    declare
    ERROR at line 1:
    ORA-06550: line 13, column 1:
    PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL
    ... dear friends, please help me out in resolving this.
    Thanks in advance,
    Ravikanth K.

    Forall works with sets of data, like index-by tables. Here's an example:
    declare
       t1 number;
       t2 number;
       t3 number;
       type r_tt is table of t%rowtype
          index by binary_integer;
       tt r_tt;
    begin
       for i in 1..10
       loop
          t1:=dbms_utility.get_time; -- <----- this one should be outside the loop
          insert into t values('RAVIKANTH');
       end loop;
       t2:=dbms_utility.get_time;
       -- Load the index-by Table
       for i in 1..10
       loop
          tt (i).c1  := 'RAVIKANTH';
       end loop;
       -- Use this index-by Table to perform the Bulk Operation
       forall i in 1..10
          insert into t values tt (i);
       t3:=dbms_utility.get_time;
       dbms_output.put_line('Time taken for FOR'||TO_CHAR((t2-t1)/100));
       dbms_output.put_line('Time taken for FORALL'||TO_CHAR((t3-t1)/100));
    end;You probably won't see much difference in elapsed time. You testing a single insert again a bulk operation.
    btw: You have a local variable with the same name as your table

  • Tablespace with too many extents are evil for performance

    I think the tablespace with too many extents are not bad for performance after introduction of LMT tablespace?? May be true with DMT tablespace(earlier versions). This is just observation after reading the LMT vs DMT tablespaces.
    Experts - Please comment on your thoughts.

    Indeed, I work in an environment where there is over 50 databases to be administered and so we have lots of DBAs interacting with each other.
    I'm stunned by this myth of "reorganization". Most of the DBAs move tables + rebuild indexes regularly generating huge redo  on a monthly basis. Also provoking indexes to do all the splits again generating even more redo. They claim "it helps performance a lot" however not one is able to quantify and quite justify it other than "less extents less I/O, good". Even when I bring up the existence of shrink they say "do not like it, prefer the classic move". People really have a way of holding on to their good ol' practices of Oracle 8i.
    For full table scans (which should never be done on a OLTP scenario) this extent issue would be relevant IF data on the table is the victim of large deles and Oracle hasn't re-used that space yet. If your multiblock reads is a multiple of your extent size, than there won't be any overhead of I/O call, no matter the number of your extents. For OLTP this is not relevant because Oracle will access the table via ROWID.
    I rarely have ever seen an index benefit from a rebuild significantly. In my experience what people often understand as "index fragmentation" is often just an unoptimized execution plan due to cardinality issues where oracle ends up fetching a large percentage of the table via single reads on that index.

  • Datafiles in swapping mode - for performance

    Hi there,
    One of the Senior DBAs told me that it is better to keep the datafiles in swapping mode, which means..
    Suppose we need to create 4 Tablespaces, 2 for data files and 2 for index files and we have two drives called E, F. In this case he said, the performance will be increased if we prepare
    E drive
    Datafile_Tablespace_A (datafile TS no. 1)
    Index_Tablespace_D (index TS for datafile no.2)
    F drive
    Index_Tablespace_B (index TS for datafile no.1)
    Datafile_Tablespace_C (datafile TS no. 2)
    According to him, Oracle works better in swapping mode, is it true? I was under the impression that index and datafile tablespaces should be built on separate drives.
    Even though my quetions is in general, for reference - The OS we are using is windows 2003 server and parition is Raid-5 and the Oralce 10.2.0.1 version.
    If anybody can clarify, I would be obliged.
    Thanks

    I'm going to default to one of Billy's responses:
    {message:id=4060608}
    >
    Irrelevant as that does not change any of the storage fundamentals in Oracle. The database does not know or care what you use as storage system.. why should it? It is the kernel and disk/file system drivers job to deal with the actual storage hardware. From a database perspective, it wants the ability to read() and write() - in other words, use the standard I/O interface provided by the kernel.
    I/O performance must not be factor. If it is, then you storage layer is incorrectly designed and implemented. Striping (RAID 0) for example must be dealt with at the storage layer and not at the application layer. Tablespaces and datafiles in Oracle makes extremely poor tools to implement striping of any sort. It does not make sense to attempt I/O balancing such as striping at tablespace and datafile level in Oracle.
    So why then use separate tablespaces? You may need different tablespaces to implement different block sizes for performance.. but this is an exception to the rule. And you do not address actual storage performance here, but more how Oracle should manage the smallest unit of data in the tablespace.
    So besides this exception, what other reasons? Could be you want to physically separate one logical data base (Oracle schema) from another. Could be that you want to implement transportable tablespaces.
    All these requirements are quite explicit in that more than one tablespace is needed. If there is no such requirement, why then consider using multiple tablespaces? It only increases the complexity of space management.
    Consider using different tablespaces for indexes and table data. In a year's time, you may find that the index tablespace has been oversized and the data tablespace undersized. You now have too much space on the one hand, too little on the other, and no easy way to "move" the freespace to where it is needed.
    It is far easier to deal with a single tablespace - as it allows far more flexibility in how you use that for data and index objects, then attempting some kind of split.
    So I will look for a sound and unambiguous technical requirement that very clearly says "multiple tablespaces needed". If not, I will not beat myself over the head trying to find reasons for implementing multiple tablespaces.>
    There are also many other threads on this forum about separating data and indexes, try and search for them.

  • Design table for performance (order - ordervisibility)

    I have tables like order, orderitem, etc. and requirements for order visibility:
    - One order can be seen by many users
    - One user can see many orders
    create table order (orderid number, ...);
    create table ordervisibility (orderid number, username varchar2(20));
    Order size is estimated to be >=500Mio. Application is a data warehouse with reporting.
    The relationship order - user will be skewed: some users will be allowed to see many orders while some will only see a small percentage.
    How should we design the system for performance?
    We think about creating table ordervisibility as index-organized table. Or are there better approaches like partitioning? Or is the approach with tables order na ordervisibility already suboptimal?

    <<<What is your 4 digit Oracle version (result of SELECT * FROM V$VERSION)?
    The system does not exist yet. Version will be derived from the requirements or most likely the latest version (e.g. 11.2.0.3 EE with partitioning option)
    <<<Are you wanting to prevent users from seeing other orders? You said one user can see many orders but are they NOT supposed to see other orders?
    Yes, you are right. We want to prevent other users to see orders that do not belong to them.
    <<<What determines which orders a user is allowed to see? A state code, a region code?
    The user in the OLTP system decides who can see orders (the user creating the order and maybe other users he selects)
    <<<Does this database, data and system already exist or is this a new design? Are there any other security mechanisms already in place? Is any of your data currently encrypted?
    The system does not exist yet. No other security mechanisms are planned (e.g. encryption).
    VPD is considered to implement the visibility (or alternatively views.)

  • Comparing SELECTs for performance

    I have a long-running function module and through SAT, I've identified its SELECT from BSEG as a potential hotspot and way that I can improve the run time, etc.
    Through some research in SCN, I found I can/should use one of the component tables (BSID) to improve performance, but I don't know *how much* of an improvement it will be.
    Rather than change the code of the FM and transport it to QA just to analyze performance gains, I was hoping there was some sort of tool that I could use to analyze separate code comparatively.
    I thought of making 2 Quickviewer queries (one for BSEG and one for BSID) and then using ST05 to analyze each.  Is there a better way?
    Basically in PRD, I'd like to compare isolated SELECTs for performance to see what gains I could make.
    Thanks
    Jeremy H.

    You can find some interesting discussions linked here, some also talk about index access:
    FAQ's, intros and memorable discussions in the ABAP Testing and Troubleshooting Space
    Regarding your point 4), make sure your WHERE-condition contains as many fields of the index top down without gaps.
    Looking at BSID~4:
    MANDT
    Client
    BUKRS
    Company Code
    REBZG
    Number of the Invoice the Transaction Belongs to
    REBZJ
    Fiscal Year of the Relevant Invoice (for Credit Memo)
    REBZZ
    Line Item in the Relevant Invoice
    KUNNR
    Customer Number
    UMSKS
    Special G/L Transaction Type
    REBZT
    Follow-On Document Type
    MANDT will be included automatically. BUKRS is not very selective (not many distinct values), but you must include it since it is the leading field of the index. REBZG sounds like a selective field, so you can likely use the index effectively by having just BUKRS and REBZG in your WHERE-condition, but the more the better.
    Also have a look at transactions DB05 and TAANA which can give you a good idea about the actual data distribution.
    Thomas

  • Question on indexing foreign key for replicated table

    Hi everybody,
    I have 2 tables with following script
    create table
    parent(parent_id number(2) not null,
    parent_name varchar(20),
    constraint parent_pk primary key(parent_id))
    create table child(child_id number(2) not null,
    parent_id number(2) not null,
    child_name varchar2(20),
    constraint pk_child primary key(child_id,parent_id),
    constraint fk_child foreign key (parent_id) references parenr(parent_id)
    I want to replicate them and I know to replicate these 2 tables i should add them to my replication group, my question is that the child_id has foreign key so as below link says
    http://dbataj.blogspot.com/2007/11/advance-replication-part-ii-master.html
    I should put an index on the foreign key.What type of index should it be and is the following script correct for my purpose?
    CREATE BITMAP
    INDEX "fk_child"
    ON child ("PARENT_ID")
    TABLESPACE "USERS"
    I would appreciate your help in advance.
    Mery

    A bitmap index is almost certainly not the sort of index you'd want to create. You would normally want just a normal index, i.e.
    CREATE INDEX fk_child
      ON child( parent_id )on the master database just to support normal DML operations (otherwise, deleting a row from the parent table requires doing a full table scan on the child table to see if there are any orphaned child records).
    If you are trying to set up a multi-master replication environment, you would also need to replicate this index, since you'll want to support basic DML on both nodes.
    Justin

  • TREX Index creation help for Bex Portfolio folders

    Hi
    I have created a TREX search index on a folder structure within our BI Bex Portfolio. The problem that I am enountering is that the index will only pick up documents and links created within these folders and it does not seem to index publshed links to queries by users using the broadcasting features of query designer.  Does anybody know why this is and how to get it to also pick up these BW objects?
    Thanks

    Hi Aaron
    The TREX should be able to index the titles (cm_displayname) of the links. Do you know if the titles of the links are searchable?
    But I dont think the content can be indexed, unless you publish the reports as pdf-files instead of links, because the TREX cannot reproduce the report and index it afterwards. The TREX cannot index (crawl) javascript for instance, because it cannot perform that kind of client-like behaviour.
    Kind regards,
    Martin Søgaard

Maybe you are looking for

  • Changing the size of column in JTable as per requirement

    I'm copying content of excel file into the JTable. But as the number of columns increases the size of columns get reduced. But i want the table of same column size for any number of columns in the table. If display area size is less then JTable must

  • Partner details is not updating in PO creation with reference PO

    Hi Team, my user creating a new PO with reference an old PO, and user  changed vendor in new PO then there is change not happening  in partner details of vendor in PO, these are coming old vendor's  partner details. so pl. guide me how we can update

  • Auto Fix Red-Eye in Aperture?

    Hello, I'm a newbie to Aperture and I was just trying to figure out where in Aperture can I fix red-eye automatically [similar to how it is done in iPhoto 11]? I realize that I can fix the red eyes manually, but is there a simple button that I can pu

  • Xsl fo doubt

    Anyone can help me out.. I am having an order by date(date TYPE) in Purchase order xsl style sheet.The client want to add a Number variable to come to another date... Something like this: Nov 30 2009+7=Dec 7 2009 How to do this in XSL-FO?? thanks kp

  • Table Name for Condtion Record

    Hi, What is the table name for condition records which are maintained through VK11. regards Rajesh