Few things are more frustrating than not being able to complete a task because the computer screen froze. Screen freezes are particularly excruciating when you have customer waiting on you. An audience amps up the pressure. In this case, the manager of the warehouse was standing over the DBA as though that would help.
Here is a recap with documentation. Warehouse operations supplies retail stores with Just-In-Time inventory. This shop has a business SLA that all orders received by 3 PM will be shipped by COB. Needless-to-say, the warehouse is buzzing with activity at the end of each day. However, some weeks it was not fun. Screen freezes in the JD Edwards application frustrated the pickers and delayed shipments.
Using Precise, it was determined that the transaction depends on upon the SQL statement highlighted in red below. Precise tracks each SQL statement by a hash value. The one for this SELECT… statement begins 34301.
Precise builds a detailed SQL Statement history. The history includes the query plans with a date & time stamp. The query plan provides the tables and indexes used by each SQL statement. Precise journals all changes that may impact execution time.
Precise reveals a flip flopping query plan. This can be a challenging situation if you do not have a SQL statement history. Precise keeps the history. Precise will notify you when there are multiple plans and a comparison to show the exact root cause. Check out the SQL statement execution count.
The March 5 query plan is fast. The one on March 12 is slow. A comparison of the actual plans shows the steps used to resolve the SQL statement. The Filter used in the March 12 plan is inefficient. It is behind the additional execution time.
Precise works with Sybase, SQL Server, Oracle, and DB2. Please let us know if you'd like to see more: Relational Database Performance