Page History
...
The following table shows from which tabs and entities it is possible to launch to the SQL tab, in context.
Table 10- 1 Launch in-context to following entities
Tab | Entities |
---|---|
Current | Session, Statement or Batch. |
Activity | Statement, Batch or Plan. |
Objects | Statement, Batch, Stored Procedure, Function, or Triggers. |
SQL | Statement entered manually by the user through "New" action. |
SmarTune | The following findings in the Statement Findings table launches to the SQL tab, in context:
|
The following figure shows the error message that is displayed if the SQL tab is opened with no statement or batch, in-context.
Figure 10- 1 No statement in context error message
...
Info |
---|
Seeking is the recommended way to use indexes. |
The following table describes the available operation options.
Table 10- 2 Operation options
Operation | Description |
---|---|
Sort | The Sort operator presents the sorting of the rows returned from the previously executed operation (appears just below this operator) in a specific order, optionally eliminating duplicate entries. Sorting is required when no index that satisfies the requested ordering exists, or when an index scan is more expensive than sorting. It is usually used as the final step to retrieve the fetched data or a prior step for the join or stream aggregate (group by) operators. In some cases, the sort operation requires more than the available memory, in which case a temporary table is used. This involves disk I/O, which impacts performance. Sorting a large number of rows makes heavy use of the CPU, which can also affect overall server performance. The amount of memory needed for sorting can be estimated by multiplying the number of rows by the average row size. Therefore, minimizing the row size by selecting only the necessary fields will decrease the memory required for the sort operation. |
Hash joins | A hash join algorithm is used to access a record directly, by creating a hash function. A hash function uses a key as input and returns a hash value, which is then used as a pointer to locate the row directly. There may be different keys with the same hash value. A good hash function almost never returns the same hash value for different keys. Hash join algorithms are used as follows:
|
Nestled joins | Nested joins (also called nested loops) use the nested algorithm to join two tables. The nested algorithm works as follows: For each row in the outer table (the first table, appearing directly below the nested loop operator in the explain tree), SQL Server executes the access plan for the inner table (the second one). A large number of iterations may indicate a problem in choosing the access plan due to out-of-date statistics. |
Merge joins | A merge join algorithm is used to join two tables by merging them. Merge join algorithms read both tables only once; therefore it is required that the input be sorted according to the join predicates. |
About viewing the text and performance findings for a statement
...
The following table describes the information displayed for the referenced tables.
Table 10- 3 Tables in use
Column | Description |
---|---|
Click to launch to the Objects tab with the selected table in context. | |
Click the Locator icon to locate and highlight all the operators in the execution plan that access the specified table. | |
Used | Indicates whether the specified table is used in the selected operator in the execution plan tree. |
The Potential Problem icon indicates there is a potential problem in the specified table. A potential problem can be one of the following:
| |
Table | Displays the full table name in the following format: ([Database Name].[Owner].[Table Name]). |
Cost | Total cost of the access of the steps to the specified table. |
Cost (%) | Total cost in percentage of the access of the steps to the specified table. |
Rows | Number of rows in the specified table. |
Pages Allocated | The number of pages allocated in the disk for the table records, index records, and text or image data. The value might be incorrect due to out-of-date space usage information. If you suspect the value to be incorrect, use the See SQL Server Books Online for |
Pages Used | The number of pages used in the disk for the table records, index records, and text or image data. The value might be incorrect due to out-of-date space usage information. If you suspect the value to be incorrect, use the See SQL Server Books Online for |
Have Local Predicates | Indicates whether the specified table has local predicates in the execution plan. |
About indexes defined on a selected table
...
The following table describes the information displayed in the Indexes Defined On table.
Table 10- 4 Indexes defined on
Column | Description |
---|---|
Click to launch to the Objects tab with the selected index in context. | |
Click the Locator icon to locate and highlight all the operators in the execution plan that access the specified index. | |
Used | Indicates whether the specified index is used in the selected operator in the execution plan tree. |
Index | Displays the index name. |
Pages Allocated | The number of pages allocated in the disk for the index records. The value may be incorrect due to out-of-date space usage information. If you suspect the value to be incorrect, use the DBCC UPDATEUSAGE command to recalculate the space usage fields. See SQL Server Books Online for |
Pages Used | The number of pages used in the disk for the index records. The value may be incorrect due to out-of-date space usage information. If you suspect the value to be incorrect, use the DBCC UPDATEUSAGE command to recalculate the space usage fields. See SQL Server Books Online for |
Cost | Total cost of the access of the steps to the specified index. |
Cost (%) | Total cost in percentage of the access of the steps to the specified index. |
Last Statistics Calculations | The SQL Server collects statistics for each index and updates them automatically. This column displays the date that the statistics for the specified index was last updated. |
Index Depth | Number of levels in the index. |
Unique | Indicates whether the index is unique. |
Clustered | Indicates whether the index is clustered. |
About columns in table
Displays a list of all columns in the selected table displayed in Tables in use. When an index is selected in Indexes of Table, the first column constitutes the index column sorted by the position of the column in the index, and marked with an Ascending or Descending icon.
The following table describes the information displayed in Columns in Table.
Table 10- 5 Columns table
Column | Description |
---|---|
Indicates whether the column is part of the selected index and is sorted in ascending order. | |
Indicates whether the column is part of the selected index and is sorted in descending order. | |
Column | Displays the column name. |
Type | Displays the physical storage type of the column. |
Key Number | Displays the key number of the index column. |
Used in Operator | Indicates whether the column is used in the selected operator in the Execution plan tree. |
In Clause | Displays a list of all the clauses that the specified column participates in. |
About viewing statistical information on all operators in the execution plan
...
The following table shows the information displayed in the Execution plan statistics table.
Table 10- 6 Execution plan statistics
Column | Description |
---|---|
Locates and highlights the operator in the execution plan tree that matches the selected operator in the grid. | |
Operator ID and Type | Displays the operator ID and type. |
Subtree Cost | Displays the cost of the operators and its sub-operators. |
Estimated Cost | Displays the estimated cost of the current operation. A high cost value may indicate a problem in the current implementation of the operation. If the cost value is greater than "1", it is highlighted in red. Check the Estimated I/O cost and Estimated CPU cost values to determine whether the operation is an I/O consuming operation or a CPU consuming operation (or both). |
Estimated Cost (%) | Displays the estimated cost (in percentage) of the current operator. |
Estimated CPU Cost | Displays the estimated CPU cost of the current operation. A high cost value may indicate a problem in the current implementation of the operation. If the cost value is greater than "1", it is highlighted in red. |
Estimated I/O Cost | Displays the estimated I/O cost of the current operation. A high cost value may indicate a problem in the current implementation of the operation. If the cost value is greater than "1", it is highlighted in red. |
Estimated Rows | Displays the estimated number of rows returned from the current operation. |
Avg Row Size | Displays the estimated average row size of the rows affected by current operation. |
Parallel | Indicates whether the operator is running in parallel. |
About displaying information on operation types (More tab > Operations)
...
The following table shows information on major operation types.
Table 10- 7 Major operations
Column | Description |
---|---|
Locates and highlights the operators in the Execution plan tree that match the selected major operation type. | |
Major Operation Type | Displays the major types of the operators. The operators in the Execution plan tree are separated into the following major types:
|
Estimated Cost | Displays the total estimated cost breakdown according to major operation types. |
Operations | Indicates the number of operators of specified major operation type. |
Objects | Indicates the number of referenced tables/indexes of the specified operation type. This column is only relevant for Table and Index operation types. |
The following table shows information on regular operation types.
Table 10- 8 Operations
Column | Description |
---|---|
Locates and highlights the operators in the Execution plan tree that match the selected operation type. | |
Operation Type | Indicates the type of operator, such as Clustered Index Scan, Index Seek, Nested Loop, etc. |
Major Operation Type | Displays the major types of the operators. The operators in the Execution plan tree are separated into the following major types:
|
Estimated Cost | Displays the total estimated cost breakdown according to operation types. |
Operations | Indicates the number of operators of specified major operation type. |
Objects | Indicates the number of referenced tables/indexes of the specified operation type. |
About viewing general properties of a selected statement (More tab > Properties)
...
The following table shows the properties displayed for a selected statement.
Table 10- 9 Selected statement properties
Field | Description |
---|---|
Statement or Batch | Displays the following information:
|
Cabinet | Indicates the cabinet in which the statement was saved. This field is only displayed for statements that were edited and saved in the statement workshop (using the Open, Save As, or Edit options). |
Folder | Indicates the folder in which the statement was saved. This field is only displayed for statements that were edited and saved in the statement workshop (using the Open, Save As, or Edit options). |
Access Plan | Displays the following information:
|
About viewing recommended indexes or statistics for a statement or batch
...
The sort order icons indicate whether the column is part of the selected index and the order in which it was sorted. If you are using SQL Server 2005, it is possible to add no-key columns that are not part of the recommended index. In this case, an include icon is displayed, indicating that the column is part of the INCLUDE statement.
Table 10- 10 Sort order icons
Sort Order Icon | Description |
---|---|
Indicates whether the data in the column will be stored in the index in ascending order. | |
Indicates whether the data in the column will be stored in the index in descending order. | |
Indicates that column is part of the INCLUDE statement. |
About the DDL tab
Displays the DDL text of the recommended index or statistic or the SQL Server 2005 recommendation.
...
The following table describes the information displayed in the All Changes table.
Table 10- 11 All Changes table
Column | Description |
---|---|
If the object that was changed is one of the entities in the Objects tab (Instance, Database, Table and Index), the Launch icon opens the Objects tab with the selected object, in-context. Also, if the change type is "Access Plan Changed" the icon will launch the Compare View with the specified access plan compared to the last access path, as detected by the "Explain Statements" process. | |
Date | Indicates the date the change was detected. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Change Type | Displays the type of change detected. Can be one of the following values:
|
Object | Indicates the object that was changed, for example, database, table, and index. |
Details | Displays information about the change that was made. For example if the "Auto Shrink File" option was changed in the specified database the Details column will contain: "Auto Shrink File (From NO to YES). |
About viewing schema changes
...
The following table describes the information displayed in the Schema Changes table.
Table 10- 12 Schema Changes table
Column | Description |
---|---|
If the object that was changed is one of the entities in the Objects tab (Instance, Database, Table and Index), the Launch icon opens the Objects tab with the selected object, in-context. Also, if the change type is "Access Plan Changed" the icon will launch the Compare View with the specified access plan compared to the last access path, as detected by the "Explain Statements" process. | |
Date | Indicates the date the change was detected. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Change Type | Displays the type of schema change detected. Can be one of the following values:
|
Object | Indicates the object that was changed, for example, database, table, and index. |
Details | Displays information about the change that was made. For example if the "Auto Shrink File" option was changed in the specified database the Details column will contain: "Auto Shrink File (From NO to YES). |
About viewing estimated access plan changes
...
The following table describes the information displayed in the Estimated Access Plan Changes table.
Table 10- 13 Estimated Access Plan Changes table
Column | Description |
---|---|
Click on the tune icon to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. | |
The Launch and Compare icon opens the access plan in Compare view and enables you to compare the specified access plan with the last access plan, as detected by the "Explain Statements" process. | |
Date | Indicates the date the specified access plan was detected by the "Explain Statements" process. |
Estimated Cost | Indicates the estimated cost of the specified access plan. |
Table Scans | Displays the number of table scans performed in the specified access plan. |
Index Scans | Displays the number of index scans performed in the specified access plan. |
Parallel | Displays the number of parallel operations performed in the specified access plan. |
Nested Loops | Displays the number of nested loops performed in the specified access plan. |
Merge Joins | Displays the number of merge joins performed in the specified access plan. |
Hash Joins | Displays the number of hash joins performed in the specified access plan. |
Sorts | Displays the number of sort operations performed in the specified access plan. |
About viewing actual access plan changes
...
The following table describes the information displayed in the Actual Access Plan Changes table.
Table 10- 14 Actual Access Plan Changes table
Column | Description |
---|---|
Click on the Tune icon to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. | |
The Launch and Compare icon opens the access plan in Compare view and enables you to compare the specified access plan with the last access plan. | |
Date | Indicates the date the specified access plan was executed, as taken from system views. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Estimated Cost | Indicates the estimated cost of the specified access plan. |
Table Scans | Displays the number of table scans performed in the specified access plan. |
Index Scans | Displays the number of index scans performed in the specified access plan. |
Parallel | Displays the number of parallel operations performed in the specified access plan. |
Nested Loops | Displays the number of nested loops performed in the specified access plan. |
Merge Joins | Displays the number of merge joins performed in the specified access plan. |
Hash Joins | Displays the number of hash joins performed in the specified access plan. |
Sorts | Displays the number of sort operations performed in the specified access plan. |
About viewing instance parameters changes
...
The following table describes the information displayed in the Instance Parameters Changes table.
Table 10- 15 Instance parameters changes table
Column | Description |
---|---|
The Launch icon opens the Objects tab with the selected instance. | |
Date | Indicates the date the change was detected. Click on the link to display the plan after the change occurred. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Details | Displays additional information on the Instance Parameters change that was made, including the name of the parameter, and old and new values. |
The following parameter changes are displayed:
...
The following table describes the information displayed in the Database Options Changes table.
Table 10- 16 Database options changes
Column | Description |
---|---|
The Launch icon opens the Objects tab with the selected database. | |
Date | Indicates the date the change was detected. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Database | Displays the name of the database in which the changes occurred. |
Details | Provides additional information on the type of database change that was made, including the name of the database option, and the old and new values. |
The following database options changes are displayed:
...
The following table describes the information displayed in the Volume Changes table.
Table 10- 17 Volume changes table
Column | Description |
---|---|
The Launch icon opens the Objects tab with the selected database. | |
Date | Indicates the date the change was detected. Click on the link to switch to Plan view and display the first access plan that was created by the Explain Statements process after the specified change was detected. |
Object | Indicates the object that was changed. |
Details | Displays information about the change that was made. |
Comparing access plans of a specified statement
...
The following table describes the information displayed for each access plan in the Compare Statements table.
Table 10- 18 Compare statements table
Column | Description |
---|---|
Plan Time | Indicates when the specified access plan was performed. |
Plan Type | Indicates whether the specified access plan is an estimated or actual access plan. |
Estimated Cost | Displays the estimated cost of the specified access plan. |
Table Scans | Indicates the number of table scans performed in the specified access plan. |
Index Scans | Indicates the number of index scans performed in the specified access plan. |
Parallel Access | Indicates the number of parallel operations performed in the specified access plan. |
Nested Loops | Indicates the number of nested loops performed in the specified access plan. |
Merge Joins | Indicates the number of merge joins performed in the specified access plan. |
Hash Joins | Indicates the number of hash joins performed in the specified access plan. |
Sorts | Indicates the number of sort operations performed in the specified access plan. |
Info |
---|
It is also possible to access the Compare View from the Access Plan Changes table. Click the Compare icon in the Access Plan Changes table to open the Compare view with the selected access plan, in-context, and compare it with the last access plan. |
...
The following table describes the information displayed in the Statements View table.
Table 10- 19 Statements view table
Column | Description |
---|---|
Switches to Plan view, with the selected statement in-context. This icon is only enabled at the batch level and in the statement that was captured by the Collector. | |
ID | Indicates the ID of the statement in the batch. |
Collector Statement | Displays the ID of the statement and batch as assigned by the Precise for SQL Server collector. Click on the link to display the plan after the change occurred. |
Physical Operator | Describes how a query or update was executed. The physical operator describes the physical implementation used to process a statement, for example: Batch level, Select, Update, Cond, etc. |
Operations | Displays the number of operations in the specified statement. |
Table Scans | Displays the number of Table Scans performed in the specified statement. |
Index Scans | Displays the number of Index Scans performed in the specified statement. |
Joins | Displays the number of join operations performed in the specified statement. |
Sorts | Displays the number of sort operations performed in the specified statement. |
Estimated Cost | Displays the estimated cost for the specified statement. |
Anchor | ||||
---|---|---|---|---|
|
...
- Do one of the following:
- Launch to the SQL tab with a statement in context
- Open the statement you want to analyze in the SQL tab
- On the Statement tab, observe the access plan statements and their estimated cost.
- Determine which of the statements have the highest estimated cost and focus your analysis on that statement.
Precise. Performance intelligence from click to storage. Learn more > >
...
- that
...
- statement.