Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This section contains the following topics that will help you understand the graphics in VST diagrams:

...

Table of Contents
maxLevel2
minLevel2

...

Anchor
viewdiagramlegend
viewdiagramlegend
Viewing the Diagram Legend

Click the Diagram Legend Toggle button as shown in the diagram below to see a description of the icons and relationship lines used in VST diagrams.

Anchor
colors
colors
Colors

The color of the index entries in the Collect and Create Indexes table is interpreted as follows:

Text ColorInterpretation

Index is used in the query.

Index is usable but not used by the current execution path.

This index is missing. SQL Query Tuner recommends that you create this index.

This index exists on the table but not usable in this query as it is written. 

Anchor
connectlines
connectlines
Connecting

...

lines/

...

joins

Joins are represented with connecting lines between nodes. You can move tables in the diagram by clicking and dragging them to the desired location. The position of the connecting lines is automatically adjusted. The following describes when a particular type of connecting line is used and the default positioning of the line.

Connecting LinesWhen Used

One-to-One join relationships are graphed horizontally using blue lines. For more information, see One-to-One Join

One-to-Many join relationships are graphed with the many table above the one table. For more information, see One-to-Many Join

Cartesian Join shows the table highlighted in red with no connectors to indicate that it is joined in via a Cartesian join. For more information, see Cartesian Join

Many-to-Many Join relationships are connected by a red line and the relative location is not restricted. For more information, see Many-to-Many Join

Indirect Relationship. For more information, see Indirect Relationship

Outer Join. For more information, see Outer Join

Unique. For more information, see Unique

Not Exists and Not in relationship lines connect the subquery to the table being queried.

Notice that when you click this relationship line, the SQL text creating the relationship is also selected. For more information, see Not In or Not Exists Join

Exists and In relationship lines connect the subquery to the table being queried.

Notice that when you click this relationship line, the SQL text creating the relationship is also selected. For more information, see In or Exists Join

Anchor
onetoone
onetoone
 One-to-

...

one join

If two tables are joined on their primary key, then graphically, these would be laid out side-by- side, with a one-to-one connector:

Image Modified

Anchor
onetomany
onetomany
One-to-

...

many join

This is the default positioning of a one-to-many relationship, where INVESTMENT_TYPE is the master table and INVESTMENT is the details table.

...

ct.client_id = c.client_id AND
ct.investment_id = i.investment_id AND
i.investment_type_id = it.investment_type_id and
client_transaction_id=1 

Image Modified


Anchor
cartesian
cartesian
Cartesian

...

join

A Cartesian join is described in the following example where the query is missing join criteria on the table INVESTMENT:

...

Info

Transformations are highlighted in yellow. 

Implied Cartesian

...

join

If there are different details for a master without other criteria then a Cartesian-type join is created:

...

The result set of BROKER to CLIENT will be multiplied by the result set of INVESTMENT to CLIENT.

Anchor
manytomany
manytomany
Many-to-

...

many join

If there is no unique index at either end of a join then it can be assumed that in some or all cases the join is many-to-many; there are no constraints preventing a many-to-many join. For example, examine the following query:

...


If one of the fields is unique, then the index should be declared as such to help the optimizer.

Anchor
indirect
indirect
Indirect

...

relationship

Indirect relationships are produced by the following SQL, where BIG_STATEMENT2 is a Materialized View.

...

The following diagram produced by the SQL above shows that an indirect relationship exists between the RENTALITEM(RI) tables inside and outside the materialized view, BIG_STATEMENT2. An indirect relationship also exists between MOVIERENTAL (MR) inside BIG_STATEMENT2 and MOVIERENTAL(MR) inside the RENT_VIEW1 view.

Image Modified
Anchor
inorexists
inorexists
In or

...

exists join

The following SQL contains a nest IN subquery (shown in bold text) that is graphically represented with the Subquery summary icon and the IN join.

...

categoryid=mc.categoryid)))
AND mr.CUSTOMERID=cs.CUSTOMERID
AND ri.RENTALID=mr.RENTALID

Anchor
outer
outer
Outer

...

join

The bold SQL predicate in the statement below defines the outer join between customer and movierental.

...

The following screen shot illustrates how the outer join is displayed in the VST diagram.

Anchor
unique
unique
Unique

The subquery below illustrates a unique relationship between two primary keys.

...select max(rentalprice) from MOVIES.moviecategory where categoryid = mc.categoryid...

Anchor
notexists
notexists
Not

...

in or not exists join

The following SQL contains a NOT IN subquery (shown in bold below) that is graphically represented with the Subquery summary icon and the NOT IN join.

...

Graphically, this statement would look like this:

Viewing

...

object SQL

Hover over the name of an object to view the object SQL as shown in the diagram below.

Refreshing

...

tuning statements

At times you may see an error on the Overview page, which when you mouse over it, indicates that the tuning statements are out of sync and need to be refreshed. This can happen, for example, if you tune a statement, then delete it, and insert another SQL query for tuning.

...

In the Tuning Statements area of the Overview tab, right-click the tuning statement and select Refresh Tuning Statements.

Refreshing the VST

...

diagram

There are two refresh options available: Refresh and Refresh All. Click the Refresh list as shown below to gain access to these options. 

...

  • Refresh: Regenerates the Analysis tab including the VST diagram. Any changes made on the tab are reflected in the diagram.
  • Full Refresh: Re-caches all objects used in (or related to) the query, then regenerates the Analysis tab including the VST diagram. This option is typically used when the underlying objects have been recently changed.


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Newtabfooter
aliasIDERA
urlhttp://www.idera.com
 | 
Newtabfooter
aliasProducts
urlhttps://www.idera.com/productssolutions/sqlserver
 
Newtabfooter
aliasPurchase
urlhttps://www.idera.com/buynow/onlinestore
 | 
Newtabfooter
aliasSupport
urlhttps://idera.secure.force.com/
 | 
Newtabfooter
aliasCommunity
urlhttp://community.idera.com
 
|
 
Newtabfooter
aliasResources
urlhttp://www.idera.com/resourcecentral
 | 
Newtabfooter
aliasAbout Us
urlhttp://www.idera.com/about/aboutus
 
Newtabfooter
aliasLegal
urlhttps://www.idera.com/legal/termsofuse