WHERE के साथ फ़िल्टरिंग

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Dean Smith

Founder, Atamai Analytics

WHERE कैसे काम करता है

SELECT *
FROM PlayerStats
WHERE Position = 'SG'

PlayerStats तालिका

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

WHERE कैसे काम करता है

SELECT *
FROM PlayerStats
WHERE Position = 'SG'

फ़िल्टर की गई PlayerStats तालिका

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

WHERE प्रोसेसिंग क्रम

SELECT PlayerName, 
      Team, 
      (DRebound+ORebound) AS TotalRebounds
FROM PlayerStats
WHERE TotalRebounds >= 1000
ORDER BY TotalRebounds DESC;
  • WHERE का प्रोसेस SELECT से पहले होता है
-- ERROR
Invalid column name 'TotalRebounds'.
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Sub-query का उपयोग

SELECT PlayerName, 
       Team, 
       TotalRebounds
FROM
     -- Start of sub-query tr
    (SELECT PlayerName, Team, 
             (DRebound+ORebound) AS TotalRebounds
     FROM PlayerStats) tr
WHERE TotalRebounds >= 1000 -- created in the sub-query
ORDER BY TotalRebounds DESC;
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Sub-query का उपयोग

SELECT PlayerName, 
       Team, 
       TotalRebounds
FROM
     -- Start of sub-query tr
    (SELECT PlayerName, Team, 
             (DRebound+ORebound) AS TotalRebounds
     FROM PlayerStats) tr
WHERE TotalRebounds >= 1000 -- created in the sub-query
ORDER BY TotalRebounds DESC;
PlayerName Team TotalRebounds
Andre Drummond DET 1247
DeAndre Jordan LAC 1171
Karl-Anthony Towns MIN 1012
Dwight Howard CHO 1012
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

कॉलम्स पर calculations

SELECT PlayerName, 
       Team, 
       (DRebound+ORebound) AS TotalRebounds
FROM PlayerStats
WHERE (DRebound+ORebound) >= 1000
ORDER BY TotalRebounds DESC;
  • कॉलम्स पर calculations को WHERE फ़िल्टर कंडीशन में लगाने से क्वेरी समय बढ़ सकता है
PlayerName Team TotalRebounds
Andre Drummond DET 1247
DeAndre Jordan LAC 1171
Karl-Anthony Towns MIN 1012
Dwight Howard CHO 1012
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

कॉलम्स पर functions

SELECT PlayerName, College, DraftYear 
FROM Players
WHERE UPPER(LEFT(College,7)) = 'GEORGIA'; 
-- unnecessary use of functions 
-- on a filtering column
  • WHERE फ़िल्टर कंडीशन में कॉलम्स पर functions लगाने से क्वेरी समय बढ़ सकता है
PlayerName College DraftYear
Damien Wilkins Georgia
Derrick Favors Georgia Tech 2010
Iman Shumpert Georgia Tech 2011
R.J. Hunter Georgia State 2015
... ... ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

WHERE सरल बनाया गया

SELECT PlayerName, College, DraftYear 
FROM Players 
        -- No calculation or function
WHERE College like 'Georgia%'; 
PlayerName College DraftYear
Damien Wilkins Georgia
Derrick Favors Georgia Tech 2010
Iman Shumpert Georgia Tech 2011
R.J. Hunter Georgia State 2015
... ... ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सारांश

  • WHERE का प्रोसेस SELECT से पहले होता है
  • WHERE फ़िल्टर कंडीशन में कॉलम्स पर calculations लगाने से क्वेरी समय बढ़ सकता है
  • WHERE फ़िल्टर कंडीशन में कॉलम्स पर functions लगाने से क्वेरी समय बढ़ सकता है
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

अभ्यास करते हैं!

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Preparing Video For Download...