What is meant by estimated costs and estimated rows in SQL explain (ST05)?

I was just wondering if someone could explain/clarify exactly what is meant by estimated costs and estimated rows in the 'explain' / execution path functionality of ST05.
For example, we could see a SQL statement was very inefficient accessing a table:
Estimated Costs = 6.006.615 , Estimated #Rows = 0
Does this literally mean that for 6 million costs / reads / effort, 0 results were returned??
Is this a ratio of efficiency?
We built an appropriate index and now we have:
Estimated Costs = 2 , Estimated #Rows = 1
A lot better! The job was taking 40+ hours and being cancelled; now it takes 5 minutes. So a 3 million times improvement sounds realistic...
However, we had another instance where the explain showed:
( Estim. Costs = 195.077 , Estim. #Rows = 538.660 )
and we built an index, and now the explain is:
( Estimated Costs = 41.867 , Estimated #Rows = 538.660 )
What exactly does this mean - as the costs has been reduced, but the rows is the same?

Hi Ross,
>I was just wondering if someone could explain/clarify exactly what is meant by estimated costs and estimated rows in the >'explain' / execution path functionality of ST05
Take a look at note 766349, point 20.
>An EXPLAIN displays "Estimated Costs" and "Estimated Rows", which
>are simply the CBO's calculation results (refer to Note 7550631).
>Since these results are based upon a number of assumptions (column
>values are distributed equally, statistics), and depend upon the
>database parameter settings, the calculated costs and rows are
>useful only within a margin for error. High "Estimated Costs" and
>"Estimated Rows" are therefore neither a satisfactory nor a
>necessary indication of an expensive SQL statement. Also, the
>calculated costs have no actual effect upon the performance - the
>deciding costs are always the actual ones, in the form of BUFFER
>GETs, DISK READs, or processed rows.
So the costs and rows are values conjured up by the cost optimizer when calculating the access path that is most likely to be efficient. THEY ARE ESTIMATES!!!
>Does this literally mean that for 6 million costs / reads / effort, 0 results were returned??
As per the above, no. The costs and rows are estimated before the rows are fetched so there are no actual results yet.
>What exactly does this mean - as the costs has been reduced, but the rows is the same?
An efficient database access is exactly that; reads only the blocks that contain the rows it needs and nothing else. If the access is inefficient it will spend time accessing blocks that contain no data that is eventually contained in the result set.
This question would be better placed in the Oracle forum...

Similar Messages

  • Estimated Cost and Actual Cost

    Hi Friends,
               Can someone tell me, which MM tables(logically database) has these fields stored?? Estimated cost and Actual cost??
    Note : Where and How can I find the logical data base??
    Thanks alot in advance,

    Yes thank so much for your quick help.
    I see here we can get 1- Plan cots , 4 Actual cost, But in PMCO, how can we get the estimated cost, I see that WRTTP = 1 also contain the value for estimated cost but not plan cost . Please help me.

  • What is meant by Local Class and how we can create local classes in abap?

    Hi Friends
    what is meant by Local Class and how we can create local classes in abap?

    Local classes are the classes which we declare and use using the SE38 ABAP editor
    Global classes are the classes which we find in SE24 and call the methods of them into our program.
    see the sample code
    REPORT zs_class.
    PARAMETERS:p_var TYPE i,
    p_var1 TYPE i.
    DATA : var2 TYPE i.
    METHOD add.
    var2 = p_var + p_var1.
    WRITE:/ var2.
    ENDMETHOD. "add
    METHOD sub.
    var2 = p_var - p_var1.
    WRITE:/ var2.
    ENDMETHOD. "sub
    DATA: obj TYPE REF TO d_class.
    CREATE OBJECT: obj .
    CALL METHOD: obj->add,

  • What is meant by change pointer and change request

    what is meant by change pointer and change request in sap r3
    plz can u any one notes or link on this , or if possible briefly tell about this..
    i am looking for clear idea on this..

    With respect to Dictionary Change pointers means all the changes done to dictionary objects.
    All the change logs with respect to tables are stored in CDHDR and CDPOS table
    Change Pointers in broad sense are used with respect to IDOC
    Change Pointers & Reduction of IDOCs.
    Applications, which write change documents, will also try to write change
    pointers for ALE operations. These are log entries to remember all modified
    data records relevant for ALE.
    Following Steps must be followed in case of Change Pointer.
    1) Goto Transaction BD60.
    Note down the Details of the Message Type for which change pointer has to activate. Details like Function Module, Classification Object, ALE object Type etc.
    E.g. ZDEBP3
    2) Next step is goto transaction BD53
    Click on change button.
    First select the segment for which the fields has to modified (either remove or
    add ).
    It will show the fields in a pop-up window where the user can select, deselect the respective fields.
    Save the settings for the Message type. Don’t forget to activate the change pointers by clicking Activate Change pointers button on the main screen.
    3) Once the activation is done system will reset the settings for the Message type in Change pointers (BD60). Maintained the old settings for the Message type.
    Check this FAQ
    . Do you really need change pointers?
    You need change pointers to distribute changes with the ALE SMD tool. If you do not use this tool, you do not need to write change pointers.
    You can deactivate change pointers and activate them again with the transaction BD61.
    2. Do you really need to activate change pointers for this messages type?
    If some messages types are no longer to be distributed by change pointers, you can deactivate change pointers for this messages type.
    You can deactivate change pointers for the message type
    and reactivate them again.
    For reduced message types, deactivate the change pointer with the
    Reduction tool (transaction BD53).
    3. Are there still too many change pointers to be processed?
    The change pointers are analyzed with the transaction BD21 or the report RBDMIDOC in ALE and flagged as processed. If the change pointers are created periodically, this report should also run periodically.
    4. Are no longer required change pointers reorganized in time?
    The report RBDCPCLR (transaction BD22) to reorganize the change pointer should run periodically. Depending on how many change pointers are created or processed, you can schedule the background job hourly, daily or weekly. You should delete all obsolete and processed change pointers. You can also use this report for specified message types.
    We come across change pointer technique while dealing with master data distribution thru ALE/IDOCs
    When we want to reflect changes made to master data(i.e customer master, vendor master, material master ...) visible to other clients listed in customer distribution model, we follow change pointer technique.
    What is customer distribution model?
    A customer model depicts various messages (master data, transactional data) exchanged between the systems and establishes a sender and receiver of data
    A customer model is always maintained on any system for the entire distributed network of SAP systems, so it must be distributed to various systems in the distributed network.
    These r some details regarding change pointer technique which u may find it usefull.............
    The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master, vendor master & sales orders. changes made to a document are recorded in the change document header table CHDHR, and additional change pointers are written in the BDCP table for changes relevant to ALE. BDCPS table stores the status of changed documents processed or not.
    The process for distributing master data using change pointers involves the following steps.
    The application writes change documents. SAP maintains change documents for
    several objects in the system, such as materials, customers, invoices, and bank data, to provide an audit trail for changes made to an object. A change document object represents a set of tables for which changes are recorded. For example, the change document for the material master is named MATERIAL and it contains the various tables of the material master object, such as MARA and MARC.
    When an application transaction makes changes to an object, the application writes change documents, which are stored in the CDHDR and CDPOS tables for each change made to an object.
    Execute transaction SCDO to see a list of change document objects and
    their tables.
    The SMD (Shared Master Data) tool writes change pointers. When changes are made to an object, the SMD tool checks the ALE settings and consults the ALE distribution model to determine whether a receiver is interested in the object that was changed. If the system finds an appropriate receiver, the system creates change pointers in the BDCP table that point to change documents in the CDHDR table.
    The ALE programs analyze change pointers and generate IDocs. SAP provides
    standard function modules that read the change pointer table and generate IDocs for the objects that were changed. These programs are designed to ignore multiple changes and create only one IDoc. For example, if a material is changed four times before the function module is invoked, only one IDoc with the latest data from the material master data is created. The function modules are invoked by a standard report, RBDMIDOC. The selection parameters of this report allow you to specify the message type for which change pointers are to be analyzed. Configuration
    you must carry out the following configuration steps to enable master data
    distribution based on changes to the object.
    Step 1: Enable Change Pointers Globally
    Transaction: BD61
    This option enables the change pointer process globally. Make sure that the flag is checked.
    Step 2 :Enable Change Pointers for a Message Type
    Transaction: BD50
    This setting is required for activating change pointers for a specific message type.
    make sure that the Active flag is checked for your message type.
    Step 3 :Specify the Fields for Which Change Pointers Are to Be Written
    Transaction: BD52
    For standard master data objects such as the material, customer, and vendor objects, SAP already provides a list of fields for which change pointers are written. If you are satisfied with the standard set of fields, you can skip this step. If you want to add new fields, you must add entries for the required fields. If you are not interested in IDocs being generated for changes to a particular field, you can remove it from the list. For example, if you do not want to distribute the
    material master for changes made to the Catalog Profile (RBNRM) field, you can delete this entry from the table.
    Step 4: Changing a Field in the Master Data
    Change a field in the master data object for which the change pointer is enabled. For example, if you change the net weight of a material in the material master data, a change pointer is written.
    Tip : You can verify a change document and change pointer by viewing entries in
    tables CDHDR and BDCP, respectively.
    Step 5 :Executing Program RBDMIDOC to Process Change Pointers
    Execute program RBDMIDOC to initiate the process of generating an IDoc. On the selection screen, specify the message type. For example, you can specify MATMAS. After you execute the process, it displays the number of entries processed.
    Note :
    Normally, you schedule this program to run frequently and start IDoc
    generation for different message types.
    Step 6 : View the idocs in WE02/05

  • What is meant by article grouping and site grouping and how to define

    what is meant by article grouping and site grouping and how to define in SAP.

    Hi Charan,
               Article Grouping in its broader sense  means grouping of Articles for ease of maintenance and business functions, either on the basis of Hierarchy or on the basis of Merchandise Category.Article Grouping is also primarily useful in promotions,wherein you can define a set of articles(which may not necessary fall under the same MC or Hierarchy) and club them together and assign them in a promotion.Txn codes used are : VBG1/2/3 - Create/Change/Display Article Group
    For more information refer the link below
    Site Grouping is used for ease of maintenance by grouping the sites.It is also used to maintain the characteristics as well.This can also be used in Allocation Tables,promotion and Listing etc
    Some of the Txn codes -
    WB50 - Site Group,Create Alloc,.table
    Wb56 - Site Group, Alloc.table,Maintain Sites in Class
    WB60 - Site Group,Create Promotions
    WB64 - Site Group,Maintain SItes to Class
    Wb80 - Create Site Group Other
    For more information,refer the link below
    Hope it helps
    Aram K.
    For more information refer to the link below

  • What is meant by debugging? and the procedure of debugging?

    what is meant by debugging? and the procedure of debugging?

    What is mean by debugging ? http://en.wikipedia.org/wiki/Debugging
    The procedure is many: use your own methods like dbms_output, utl_file to debug your program, some third party debugger like PL/SQL developer (my favorite), TOAD or SQL Developer.

  • What does a skype number cost and why is it so har...

    as the title sais, what does a skype number cost and why is it so hard to find that info?

    Hi, StolpS, and welcome to the Community,
    Please see this topic for more information:
    Was your question answered? Please click on the Accept as a Solution link so everyone can quickly find what works! Like a post or want to say, "Thank You" - ?? Click on the Kudos button!
    Trustworthy information: Brian Krebs: 3 Basic Rules for Online Safety and Consumer Reports: Guide to Internet Security Online Safety Tip: Change your passwords often!

  • HT1438 Estimated cost and turnaround time for new iPad screen replacement?

    Looking to see what others have experienced in roundabout cost and turnaround time for screen/glass replacement on new iPad... Everything else seems to be in working order...

    Apple's Limited Warranty http://www.apple.com/legal/warranty/ for iPad excludes coverage for damage resulting from accident, disassembly, unauthorized service and unauthorized modifications.
    Apple will provide a replacement iPad for:
    iPad model
    Out-of-Warranty Service Fee
    New iPad
    iPad 2, iPad
    You can get the glass replaced at 3rd party repair sources for less $, however, the Apple warranty will be voided.
    iPad Repair & Screen Replacement Services
    RepairZoom iPad Repair
    Mission Repair
     Cheers, Tom

  • Release Strategy-estimation cost and po cost

    Client issu like...in RS
    We are maintain our estimation cost in Ztable(Zdev).Purchase order net value is Actual Cost.
    My Purchase order cost is less then Estimation cost .NO Problem. We config the RS some Level.
    But My PO cost is Greater then Estimaton Cost ,that time client wants some RS in purchase order.
    How will i configure Release Starategy Negative Deviation occur in comparison Statement?
    Example estimation is RS 10000 (ztable)
    Actual PO cost is RS 13000(Ekko)
    Now Run Zreport (ZComp) The system Will give 3000 is negative deviation
    Nagative dev  RS 3000
    Above The RS 3000 ,How will i configure Release Strategy In PO?

    Hi kavi,
    can you please eloberate your issue,
    as i under stood you are setting the releasestrategy for PO price.

  • What is meant by in bound and out bound delivery

    hai sap sd gurus,
    please tell me, wht is meant by in bound and out bound delivery?

    peruru sreenivas wrote:
    > hai sap sd gurus,
    >  please tell me, wht is meant by in bound and out bound delivery?
    Hi Sreeni,
    See any delivery that is inbound i.e. bound to come in like Returns from Customer or Delivery from a Vendor to us or any other delivery which is coming to us.....
    Similarly any delivery that is outbound i.e. bound to go out like the deliveries we do to customers are Outbound deliveries
    Reward if helpful

  • What to Enter in Username,Password and Host String in SQL Plus 8.0??

    I downloaded Oracle Forms,Reports 6i.Along with it I got SQL Plus 8.0.Following
    are not working
    Host String:Empty
    Username :system
    Host String:Empty
    I want to Know what to enter for Username,password and Host String.If i want to look in the TNSNAMES.ORS Plz Tell What to look for in it.

    Developer 6i is a client software, not database server. Ask the dba of the database, you are trying to connect, for valid userids/passwords/hoststrings.

  • What is the difference between iCloud and I match can someone explain that to me

    I mean what the?  I got I cloud for just a little bit of backup in online does match back up all your music?

    Think of iCloud like an email and syncing service for your devices. It will allow you to keep your contacts, calendars, email and other items in sync across devices. It also provides cloud backups for iOS devices.
    iTunes Match gives you access to your entire iTunes library from almost anywhere on all your devices by mirroring the iTunes library in the cloud. The service scans the iTunes library and either "matches" tracks to those available on the iTunes Store or "uploads" those that do not match. It is not a backup service.
    The two services are separate and distinct and one does not require the other.

  • What is the difference between "= NULL" and "IS NULL" in SQL?

    I believe there is a difference between "= NULL" and "IS NULL" comparsion, but I couldn't find it. Anyone knows the difference?

    Aha, thanks:
    SQL> create table william_test_tab (col binary_double);
    Table created.
    SQL> insert into william_test_tab
      2  select rownum / (rownum - 1) from user_tables where rownum < 4;
    select rownum / (rownum - 1) from user_tables where rownum < 4
    ERROR at line 2:
    ORA-01476: divisor is equal to zero
    SQL> insert into william_test_tab
      2  select 1d * rownum / (rownum - 1) from user_tables where rownum < 4;
    3 rows created.
    SQL> select * from william_test_tab;
    3 rows selected.
    SQL> select * from william_test_tab where col is infinite;
    1 row selected.

  • Displying wrong data after entering estimated cost while creating travel request.

    Hi Team,
    We are facing an issue while creating travel request from portal.
    When we are entering estimated cost and after clicking on save and send button we are getting data is saved as correct.But after clicking on display form button the data is showing as different.
    But after clicking on display form it is showing as 298900(adding two zeros at end for every cost).
    Please help on this.
    Thanks & Regards,

    Hi Shankar,
    Thanks For the reply. Can you please let me know what settings need to be there in SU3. This issue is effecting for all the users belongs to that country. Can you please suggest me!!
    Thanks in advance.

  • ESS Travel Request  - Estimated Cost

    We are using ECC 6.0 with EHP4, ESS & MSS Business Package 1.41
    When we create Travel Request under ESS/TRavel & Expenses, we can see the Estimated Cost in the "General Trip Data".
    However, when we enter the estimated cost and click the Review button it doesn't appear on the Summary.

    Funs Management should be active
    Please check the note 1544628
    For this I suggest you to check the documentation in

Maybe you are looking for

  • I've tried everything I can possibly think of to improve my computer's performance, and it seems to be getting slower every day.

    Before I begin, let me post my system specs real quick: Hardware Overview:   Model Name: MacBook   Model Identifier: MacBook5,1   Processor Name: Intel Core 2 Duo   Processor Speed: 2 GHz   Number of Processors: 1   Total Number of Cores: 2   L2 Cach

  • Error in Leave Approval Workflow

    Hello Experts, I'm Using Standard Workflow WS0040077 for Leave Approval . I Activated the Event Linkage in SWEL .Did General Task in Agent Assignment . But when i run transaction PA30 . i get this error in SAP Inbox. Following error occurred: 00 341

  • How can I change the foregroud of checkboxes in a JTable ?

    Hello! I develop an application module to let a user correcting a list of pre-filled forms. I extended JTable with customized model, cell renderer and cell editor. A form can be disabled. All elements are then disabled as my tables. I encountered a m

  • Clarification regarding data upload in to SAP System

    Hi All, The requirements goes like this. There is a file in the Application Server in which there are many records. Each record will have to create two Idocs based on two particular fields. For example, If A, B, C, D are the fields One Idoc shold hav

  • How do I get UK Spelling to work?

    I've turned on and changed everything that I would think is UK spelling. But I'm still getting things like "customise" insisting it needs a z. it's not annoying. It's REALLY ANNOYING. What version of English is primarily used in India? And while we'r