Sorgu sırası

SQL Server'da Sorgu Performansını İyileştirme

Dean Smith

Founder, Atamai Analytics

Büyük depremler sorgusu

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
... ... ...
SQL Server'da Sorgu Performansını İyileştirme

Sözdizimi sırası

                                 -- Sözdizimi sırası
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
SQL Server'da Sorgu Performansını İyileştirme

Sözdizimi sırası

                                 -- Sözdizimi sırası
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
SQL Server'da Sorgu Performansını İyileştirme

Sözdizimi sırası

                                 -- Sözdizimi sırası
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;        
SQL Server'da Sorgu Performansını İyileştirme

Sözdizimi sırası

                                 -- Sözdizimi sırası
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
SQL Server'da Sorgu Performansını İyileştirme

İşleme sırası

                                 -- Sözdizimi sırası | İşleme sırası
SELECT Country, Place, Magnitude -- 1. SELECT        
FROM Earthquakes                 -- 2. FROM        1. FROM                       
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
SQL Server'da Sorgu Performansını İyileştirme

İşleme sırası

                                 -- Sözdizimi sırası | İşleme sırası
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       
SQL Server'da Sorgu Performansını İyileştirme

İşleme sırası

                                 -- Sözdizimi sırası | İşleme sırası
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     
SQL Server'da Sorgu Performansını İyileştirme

İşleme sırası

                                 -- Sözdizimi sırası | İşleme sırası
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    
SQL Server'da Sorgu Performansını İyileştirme

İşleme hataları


SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes            
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
SQL Server'da Sorgu Performansını İyileştirme

FROM’un işlenmesi

                        -- İşleme sırası
SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes   -- 1. FROM - LargeEarthquakes tablosu yok
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid object name 'LargeEarthquakes'.
SQL Server'da Sorgu Performansını İyileştirme

WHERE’in işlenmesi

                        -- İşleme sırası
SELECT Country, 
       PlaceName, 
       Magnitude
FROM Earthquakes                              
WHERE Strength >= 9     -- 2. WHERE - Strength sütunu yok 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'Strength'.
SQL Server'da Sorgu Performansını İyileştirme

SELECT’in işlenmesi

                        -- İşleme sırası
SELECT Country, 
       PlaceName,       -- 3. SELECT - PlaceName sütunu yok
       Magnitude 
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;
--------------------------------------------------------------------------------
-- ERROR
Invalid column name 'PlaceName'.
SQL Server'da Sorgu Performansını İyileştirme

ORDER BY’ın işlenmesi

                        -- İşleme sırası
SELECT Country, 
       Place, 
       Magnitude
FROM Earthquakes                              
WHERE Magnitude >= 9                 
ORDER BY Magnitud DESC;-- 4. ORDER BY - sütun yazım hatası
________________________________________________________

-- ERROR
Invalid column name 'Magnitud'.
SQL Server'da Sorgu Performansını İyileştirme

Hatasız

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
... ... ...
SQL Server'da Sorgu Performansını İyileştirme

Mantıksal işleme sırası

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
SQL Server'da Sorgu Performansını İyileştirme

Ayo berlatih!

SQL Server'da Sorgu Performansını İyileştirme

Preparing Video For Download...