I am on the business side of providing requirments for a reporting application and I just received some perplexing perfomance stats from the Database team. The execution time (database run time only) was as follows for the 4 different levels of data.
The data is spread fairly evenly and there are:
When I inquired as to why the disproportionate jump from the division level query to the region level query (only 4X the added data but almost 20X increase in time), I got the following reply:
Is this just something that I should accept or is there something missing such as an index or statistics capture? I understnad that this may be hard to answer since I cannot provide the specifics of the query but I just wanted to get a reality check.
Any insight is greatly appreciated,
Sam
Code:
Region 65 , Division 651, Territory 65100: 4 seconds
Region 65 , Division 651, Territory ALL: 12 seconds
Region 65 , Division ALL, Territory ALL: [COLOR=red]228[/color] seconds
Region ALL , Division ALL, Territory ALL: 476 seconds
Code:
8 territories in Division 651, one of which is 65100
4 Divisions in Region 65
4 Regions in Nation (Where region = ALL)
Code:
"The oracle optimizer decides on the execution plan given the statistics it has to work with. The plan is not always the best for a particular query and set of predicates but when you look at the overall performance of all of the queries it’s actually doing great. Some products or regions may have more data or higher distribution/density of data, i.e. many factors that affect the execution plan. In the test below the execution plan for each role is different because of the level of data we are requesting. The amount of data does vary as you state below but the response times will not necessarily vary by the same factor given that oracle is using a totally separate access path."
Any insight is greatly appreciated,
Sam