ลำดับของคิวรี

การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

Dean Smith

Founder, Atamai Analytics

คิวรีแผ่นดินไหวขนาดใหญ่

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

ลำดับ Syntax

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับ Syntax

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9            
ORDER BY Magnitude DESC;        
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับ Syntax

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;        
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับ Syntax

                                 -- Syntax Order
SELECT Country, Place, Magnitude -- 1. SELECT
FROM Earthquakes                 -- 2. FROM                            
WHERE Magnitude >= 9             -- 3. WHERE
ORDER BY Magnitude DESC;         -- 4. ORDER BY       
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับการประมวลผล

                                 -- 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       
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับการประมวลผล

                                 -- 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       
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับการประมวลผล

                                 -- 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     
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ลำดับการประมวลผล

                                 -- 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    
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ข้อผิดพลาดในการประมวลผล


SELECT Country, 
       PlaceName, 
       Magnitude
FROM LargeEarthquakes            
WHERE Strength >= 9                 
ORDER BY Magnitud DESC;
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ประมวลผล 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'.
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ประมวลผล 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'.
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ประมวลผล 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'.
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ประมวลผล 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'.
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ไม่มีข้อผิดพลาด

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

ลำดับการประมวลผลเชิงตรรกะ

1.  FROM

2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. HAVING
7. SELECT
8. DISTINCT
9. ORDER BY
10. TOP
การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

มาฝึกกันเถอะ!

การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

Preparing Video For Download...