परिचय

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

Dean Smith

Founder, Atamai Analytics

भूकंप डेटाबेस

भूकंप डेटाबेस

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

NBA सीजन 2017-2018 डेटाबेस

NBA सीजन 2017-2018 डेटाबेस

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

कस्टमर ऑर्डर्स डेटाबेस

कस्टमर ऑर्डर्स डेटाबेस

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

क्या यह पढ़ने में आसान है?

Select ps.Team, count(p.PlayerName) 
As NonNthAmerPlayers from 
 PlayerStats ps inner 
join (select PlayerName FROM Players 
    WHERE Country <> 'USA' Or Country 
 <> 'Canada' ) 
 p on p.PlayerName = ps.PlayerName 
 group BY ps.Team
having Count(p.PlayerName) 
>=24 Order by NonNthAmerPlayers desc
Team NonNthAmerPlayers
HOU 24
LAL 24
MEM 24
MIL 24
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सुझाव

  • एकरूप रहें
  • सभी SQL सिंटैक्स के लिए UPPER CASE उपयोग करें
  • हर मुख्य प्रोसेसिंग सिंटैक्स के लिए नई लाइन बनाएँ: SELECT, FROM, WHERE, आदि
  • कोड इंडेंट करें:
    • सब-क्वेरीज़
    • ON स्टेटमेंट्स
    • AND/OR कंडीशंस
    • लंबी सिंगल लाइनों से बचने के लिए, जैसे कई कॉलम नाम
  • क्वेरी को सेमी-कोलन (;) से समाप्त करें
  • ज़रूरत हो तो AS से एलियस दें
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

काफी बेहतर...

From

Select ps.Team, count(p.PlayerName) 
As NonNthAmerPlayers from 
 PlayerStats ps inner 
join (select PlayerName FROM Players 
    WHERE Country <> 'USA' Or Country 
 <> 'Canada' ) 
 p on p.PlayerName = ps.PlayerName 
 group BY ps.Team
having Count(p.PlayerName) 
>=24 Order by NonNthAmerPlayers desc

To

SELECT ps.Team, 
    COUNT(p.PlayerName) NonNthAmerPlayers
FROM PlayerStats ps
INNER JOIN
        (SELECT PlayerName 
         FROM Players 
         WHERE Country <> 'USA'
                OR Country <> 'Canada' ) p
    ON p.PlayerName = ps.PlayerName
GROUP BY ps.Team
HAVING COUNT(p.PlayerName) >=24
ORDER BY NonNthAmerPlayers DESC;
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

ब्लॉक्स पर कमेंटिंग

/* 
टीम रोस्टर में 24 या अधिक गैर-नॉर्थ 
अमेरिकन खिलाड़ियों वाली NBA टीमों की सूची देता है.
*/

SELECT ps.Team, COUNT(p.PlayerName) NonNthAmerPlayers FROM PlayerStats ps INNER JOIN (SELECT PlayerName FROM Players WHERE Country <> 'USA' OR Country <> 'Canada' ) p ON p.PlayerName = ps.PlayerName GROUP BY ps.Team HAVING COUNT(p.PlayerName) >=24 ORDER BY NonNthAmerPlayers DESC;

कोड या टेक्स्ट के ब्लॉक को कमेंट करने के लिए /* और */ का उपयोग करें

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

ब्लॉक्स पर कमेंटिंग

/* 
टीम रोस्टर में 24 या अधिक गैर-नॉर्थ 
अमेरिकन खिलाड़ियों वाली NBA टीमों की सूची देता है.
*/

SELECT ps.Team, COUNT(p.PlayerName) NonNthAmerPlayers FROM PlayerStats ps INNER JOIN (SELECT PlayerName FROM Players WHERE Country <> 'USA' OR Country <> 'Canada' ) p ON p.PlayerName = ps.PlayerName GROUP BY ps.Team HAVING COUNT(p.PlayerName) >=24 ORDER BY NonNthAmerPlayers DESC;

कोड या टेक्स्ट की एक लाइन को कमेंट करने के लिए /* और */ का उपयोग करें

Team NonNthAmerPlayers
HOU 24
LAL 24
MEM 24
MIL 24
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

लाइनों पर कमेंटिंग

एक लाइन के कोड या टेक्स्ट को कमेंट करने के लिए -- का उपयोग करें

SELECT ps.Team, 
  COUNT(p.PlayerName) NonNthAmerPlayers
FROM PlayerStats ps

INNER JOIN 
    (SELECT PlayerName 
     FROM Players 
     WHERE Country <> 'USA'
        OR Country <> 'Canada' ) p
    ON p.PlayerName = ps.PlayerName
GROUP BY ps.Team
HAVING COUNT(p.PlayerName) >=24

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

लाइनों पर कमेंटिंग

एक लाइन के कोड या टेक्स्ट को कमेंट करने के लिए -- का उपयोग करें

SELECT ps.Team, 
  COUNT(p.PlayerName) NonNthAmerPlayers -- खिलाड़ियों की गिनती
FROM PlayerStats ps

INNER JOIN 
    (SELECT PlayerName 
     FROM Players 
     WHERE Country <> 'USA'
        OR Country <> 'Canada' ) p -- इंडेंटेड सब-क्वेरी
    ON p.PlayerName = ps.PlayerName
GROUP BY ps.Team
HAVING COUNT(p.PlayerName) >=24

ORDER BY NonNthAmerPlayers DESC;

 

  • कमेंट बताता है कि नया कॉलम खिलाड़ियों की गिनती है

 

  • कमेंट बताता है कि सब-क्वेरी इंडेंटेड है
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

लाइनों पर कमेंटिंग

एक लाइन के कोड या टेक्स्ट को कमेंट करने के लिए -- का उपयोग करें

SELECT ps.Team, 
  COUNT(p.PlayerName) NonNthAmerPlayers -- खिलाड़ियों की गिनती
FROM PlayerStats ps
-- Inner join यहीं से शुरू होता है
INNER JOIN 
    (SELECT PlayerName 
     FROM Players 
     WHERE Country <> 'USA'
        OR Country <> 'Canada' ) p -- इंडेंटेड सब-क्वेरी
    ON p.PlayerName = ps.PlayerName
GROUP BY ps.Team
HAVING COUNT(p.PlayerName) >=24
-- ORDER BY हटाएँ, यह आवश्यक नहीं है
ORDER BY NonNthAmerPlayers DESC;

 

 

  • INNER JOIN से पहले ब्रेक दर्शाने वाला कमेंट

 

 

  • ORDER BY की आवश्यकता पर कमेंट
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

लाइनों पर कमेंटिंग

एक लाइन के कोड या टेक्स्ट को कमेंट करने के लिए -- का उपयोग करें

SELECT ps.Team, 
  COUNT(p.PlayerName) NonNthAmerPlayers -- खिलाड़ियों की गिनती
FROM PlayerStats ps
-- Inner join यहीं से शुरू होता है
INNER JOIN 
    (SELECT PlayerName 
     FROM Players 
     WHERE Country <> 'USA'
        OR Country <> 'Canada' ) p -- इंडेंटेड सब-क्वेरी
    ON p.PlayerName = ps.PlayerName
GROUP BY ps.Team
HAVING COUNT(p.PlayerName) >=24;
-- ORDER BY हटाएँ, यह आवश्यक नहीं है
-- ORDER BY NonNthAmerPlayers DESC

 

 

 

 

 

 

  • ORDER BY स्टेटमेंट को कमेंट किया गया
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

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

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

Preparing Video For Download...