Pořadí dotazu

Improving Query Performance in SQL Server

Dean Smith

Founder, Atamai Analytics

Dotaz na velká zemětřesení

SELECT Country, Place, Magnitude
FROM Earthquakes
WHERE Magnitude >= 9
ORDER BY Magnitude DESC;
Country Place Magnitude
CL Bio-Bio; Chile 9.5
US Southern Alaska 9.2
ID off the west coast of northern Sumatra 9.1
JP near the east coast of Honshu; Japan 9.1
... ... ...
Improving Query Performance in SQL Server

Syntaktické pořadí

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Improving Query Performance in SQL Server

Syntaktické pořadí

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
Improving Query Performance in SQL Server

Syntaktické pořadí

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;        
Improving Query Performance in SQL Server

Syntaktické pořadí

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Improving Query Performance in SQL Server

Pořadí zpracování

                                 -- Syntax Order | Processing Order
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Improving Query Performance in SQL Server

Pořadí zpracování

                                 -- Syntax Order | Processing Order
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
Improving Query Performance in SQL Server

Pořadí zpracování

                                 -- Syntax Order | Processing Order
SELECT Country, Place, Magnitude -- 1. SELECT      3. SELECT
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY     
Improving Query Performance in SQL Server

Pořadí zpracování

                                 -- Syntax Order | Processing Order
SELECT Country, Place, Magnitude -- 1. SELECT      3. SELECT
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE       2. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY    4. ORDER BY    
Improving Query Performance in SQL Server

Chyby zpracování


SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes            
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
Improving Query Performance in SQL Server

Zpracování FROM

                        -- Processing Order
SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes   -- 1. FROM - table LargeEarthquakes does not exist
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid object name 'LargeEarthquakes'.
Improving Query Performance in SQL Server

Zpracování WHERE

                        -- Processing Order
SELECT Country, 
       PlaceName, 
       Magnitude
FROM Earthquakes                              
WHERE Strength >= 9     -- 2. WHERE - column Strength does not exist 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'Strength'.
Improving Query Performance in SQL Server

Zpracování SELECT

                        -- Processing Order
SELECT Country, 
       PlaceName,       -- 3. SELECT - column PlaceName does not exist
       Magnitude 
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'PlaceName'.
Improving Query Performance in SQL Server

Zpracování ORDER BY

                        -- Processing Order
SELECT Country, 
       Place, 
       Magnitude
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;-- 4. ORDER BY - column misspelling
________________________________________________________

-- ERROR
Invalid column name 'Magnitud'.
Improving Query Performance in SQL Server

Bez chyb

SELECT Country, 
       Place, 
       Magnitude   
FROM Earthquakes                
WHERE Magnitude >= 9      
ORDER BY Magnitude DESC;       
Country Place Magnitude
CL Bio-Bio; Chile 9.5
US Southern Alaska 9.2
ID off the west coast of northern Sumatra 9.1
JP near the east coast of Honshu; Japan 9.1
... ... ...
Improving Query Performance in SQL Server

Logické pořadí zpracování

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
Improving Query Performance in SQL Server

Lass uns üben!

Improving Query Performance in SQL Server

Preparing Video For Download...