Versions Compared

Key

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

Cartesian Product Elimination

: Detects Cartesian Joins and propose corrections based on analysis of statement, for example suggesting dept.deptno = emp.deptno if emp and dept had no join criteria.

Expression Transformation

: Identifies actions on predicates that might suppress index usage such as "where empid + 1 = 1 ", should be "where empid=0"

Invalid Outer Join

: Identifies invalid outer joins and suggests more efficient alternatives. BeforeAfter

BeforeAfter
SELECT * FROM employee e, customer c
WHERE e.employee_id = c.salesperson_id ( + )
AND c.state = 'CA'
SELECT * FROM employee e, customer c
WHERE e.employee_id = c.salesperson_id ( + )
AND c.state( + ) = 'CA' 

Transitivity

...

Before

...

After
SELECT * FROM item i, product p, price pr
WHERE i.product_id = p.product_id
AND

...

p.product_id = pr.product_id

SELECT * FROM item i, product p, price pr
WHERE i.product_id = p.product_id
AND

...

p.product_id = pr.product_id
AND i.product_id = pr.product_

...

id 

Move Expression to WHERE

...

Clause 

Before

...

After
SELECT col_a, SUM(col_b) FROM table_a
GROUP BY col_a HAVING col_a > 100
SELECT col_a, SUM(col_b) FROM table_a
WHERE col_a > 100 GROUP BY col_

...

NULL

...

Column 

Before

...

After
SELECT * FROM employee
WHERE manager_id != NULL

SELECT * FROM employee
WHERE manager_id IS

...

NULL 

Push

...

Subquery 

Before

...

After
SELECT *

...

FROM employee
WHERE employee_id = (SELECT MAX(salary) FROM employee)

SELECT employee.*

...

FROM employee, (SELECT DISTINCT MAX(salary)

...

col1 FROM employee) t1
WHERE employee_id = t1.

...

col1 

Mismatched column types

Identify : identify joins type mismatch such as number = character which might suppress use of Index.



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