Це відео не доступне.
Перепрошуємо.

SQL Server Performance Essentials - Full Course

Поділитися
Вставка
  • Опубліковано 17 сер 2024
  • In this course, Essentials of SQL Server Performance For Every Developer, you will see how to diagnose what is happening with a slow running SQL statement and what strategies are available to make these statements run faster.
    By the end of this course, you as an application developer will have the tools you need to troubleshoot performance problems you may encounter when using SQL Server.
    💻 Code, links, Dynamic Views(DMVs), and Database Backups: github.com/iCo...
    ✏️ Course from Rajan Arora. Check out his channel: / icodemechanic
    ⭐️ Course Contents ⭐️
    ⌨️ (0:00:00) Introduction
    Getting Started
    ⌨️ (0:00:53) 1.1 Course Introduction
    ⌨️ (0:04:07) 1.2 Why Developers should Understand SQL Performance
    ⌨️ (0:06:20) 1.3 Tools you Need
    ⌨️ (0:09:30) 1.4 Restore the Sample Database
    ⌨️ (0:12:04) 1.5 Table Concept
    ⌨️ (0:17:12) 1.6 Index Concept
    ⌨️ (0:20:32) 1.7 Summary
    Analyzing SQL Statements for Performance
    ⌨️ (0:22:12) 2.1 Introduction
    ⌨️ (0:24:55) 2.2 Understanding How SQL Server Will Execute a SQL Statement
    ⌨️ (0:29:33) 2.3 Reading and Interpreting an Execution Plan for a SQL Statement
    ⌨️ (0:39:44) 2.4 Getting Execution Statistics for a SQL Statement
    ⌨️ (0:45:29) 2.5 Improving Statement Performance by Adding an Index
    ⌨️ (0:52:11) 2.6 Rewriting SQL Statements for Improved Performance
    ⌨️ (0:58:32) 2.7 Common Execution Plan Operations
    ⌨️ (1:03:50) 2.8 Summary
    Building Indexes
    ⌨️ (1:07:30) 3.1 Introduction
    ⌨️ (1:09:09) 3.2 Index Terminology Refresher
    ⌨️ (1:12:11) 3.3 What Should I Index in My Database?
    ⌨️ (1:16:16) 3.4 Why Index Column Order Matters
    ⌨️ (1:23:39) 3.5 Index Selectivity Explained
    ⌨️ (1:36:23) 3.6 LIKE Clauses and Index Selectivity
    ⌨️ (1:40:27) 3.7 How Functions in the WHERE Clause Affect Indexes
    ⌨️ (1:46:10) 3.8 Include Columns and Covering Indexes
    ⌨️ (1:50:40) 3.9 Over-indexing
    ⌨️ (1:54:40) 3.10 Interpreting SQL Server Index Recommendations
    ⌨️ (1:57:38) 3.11 Summary
    Finding Bottlenecks in SQL Server Performance
    ⌨️ (2:03:19) 4.1 Introduction
    ⌨️ (2:08:36) 4.2 Getting Information About SQL Server Sessions and Resource Usage
    ⌨️ (2:12:02) 4.3 Finding What SQL Statements are Currently Executing
    ⌨️ (2:18:47) 4.4 Finding the Slowest, Most Expensive SQL Statements
    ⌨️ (2:24:13) 4.5 Getting SQL Server's Recommendations on Missing Indexes
    ⌨️ (2:29:38) 4.6 Finding Indexes That are Not Being Used
    ⌨️ (2:34:13) 4.7 Summary
    Capturing Trace Logs of Application from SQL Server
    ⌨️ (2:35:55) 5.1 Introduction
    ⌨️ (2:42:03) 5.2 Setting up a SQL Profiler Trace
    ⌨️ (2:49:59) 5.3 Running a SQL Profiler Trace
    ⌨️ (2:55:22) 5.4 Running a Trace as a Server Side Trace
    ⌨️ (3:03:19) 5.5 Introduction to Using Extended Events for SQL Tracing
    ⌨️ (3:06:58) 5.6 Setting up an Extended Events Trace Session
    ⌨️ (3:16:50) 5.7 Running and Configuring the Display Settings for an Extended Events Trace
    ⌨️ (3:20:38) 5.8 Analyzing Extended Events Trace Data
    ⌨️ (3:27:10) 5.9 Using Extended Events in SQL Azure
    ⌨️ (3:31:36) 5.10 Summary
    Apply Common Practices for Better Performance
    ⌨️ (3:35:47) 6.1 Introduction
    ⌨️ (3:37:17) 6.2 Use Parameterized SQL
    ⌨️ (3:42:59) 6.3 Are Stored Procedures Faster Than SQL in Application Code?
    ⌨️ (3:43:04) 6.4 Commit Behavior and Performance
    ⌨️ (3:50:16) 6.5 Object Relational Mappers Just Generate SQL
    ⌨️ (3:53:19) 6.6 Solving the N+1 Selects Problem
    ⌨️ (3:59:56) 6.7 Summary
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 Raymond Odero
    👾 Agustín Kussrow
    👾 aldo ferretti
    👾 Otis Morgan
    👾 DeezMaster
    --
    Learn to code for free and get a developer job: www.freecodeca...
    Read hundreds of articles on programming: freecodecamp.o...

КОМЕНТАРІ • 151

  • @ICodeMechanic
    @ICodeMechanic 2 роки тому +76

    Hey! this is Rajan Arora. Thank you so much Beau for posting my tutorial. I hope this will help all the viewers to tune their SQL Statements in MS SQL Server. I hope we have more collaboration like this in the future!

    • @abdulwahab-rw1yq
      @abdulwahab-rw1yq 2 роки тому +2

      Thanks Rajan.. this is really one of the best vidoes i have watched on peformance tuning

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому

      @@abdulwahab-rw1yq Thanks for the feedback

    • @ahmad-murery
      @ahmad-murery 2 роки тому +3

      That was not just a good refresher to me but I also learned some new things,
      it's 4 hours long but definitely worth it,
      Well done Rajan, and thanks Free Code Camp for sharing,

    • @DivakarRaj
      @DivakarRaj 2 роки тому +2

      Could you please provide link where the DM queries can be accessed from

    • @dev.maazqureshi
      @dev.maazqureshi 2 роки тому +1

      Thanks, Rajan This course is just excellent.. love it!

  • @Norman_Fleming
    @Norman_Fleming 2 роки тому +18

    As someone that has been writing code for 40 years I totally agree with your initial premise. If you are writing the SQL you need to understand how it operates and the costs/tradeoffs you may be making. Your video content was very well organized and presented.

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому +1

      Thank you for the feedback

    • @parthasarathiramachandran8189
      @parthasarathiramachandran8189 Рік тому

      Timstamps for various topics covered..
      10:08 Spooling: duplicate aggregation: 18:21 Hashmatch: unsorted data 23:54 KeyLookup: missing data
      ua-cam.com/video/t2R0-xcKw44/v-deo.html

  • @universecode1101
    @universecode1101 2 роки тому +18

    I am a self-taught developer 😍 who after years of Js and React, and on my UA-cam channel 🧑🏻‍💻 I create projects with React and tailwind or Html and Css… right now I’m learning Python and as you well know, SQL is part of his world. This video comes at the right time 😎

  • @rajendrawarrier7274
    @rajendrawarrier7274 6 місяців тому +2

    Very elegant presentation with crisp and clear explanations. Thank you for the amazing effort. This helped me immensely and so would it have been for several others there I bet!

  • @michelchaghoury9629
    @michelchaghoury9629 2 роки тому +36

    Great tutorial we need more SQL Server tutorials, please in the future make a SQL Server DBA, SSIS, SSRS tuts thank you

    • @surajkhot7530
      @surajkhot7530 2 роки тому +1

      I also want

    • @JimRohn-u8c
      @JimRohn-u8c 2 роки тому +1

      Especially SSIS because jobs everywhere still ask for it but I can’t find resources to learn it.

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому +1

      Thanks for the feedback and your suggested topics are noted

    • @lillyoko7838
      @lillyoko7838 2 роки тому

      פבחבןבפןב

    • @lillyoko7838
      @lillyoko7838 2 роки тому

      יי פיב

  • @mjKeszely
    @mjKeszely Рік тому +4

    Exactly what I need. Thank you, Mr. Rajan and FCC team.

  • @bezosphere
    @bezosphere 2 роки тому +14

    Learning about Databases is so important because almost everything in this world contains a database

  • @zusm
    @zusm 2 роки тому +4

    I coincidentally just started my database course yesterday

  • @noddychoi
    @noddychoi 2 роки тому +7

    This tutorial is absolutely great and helpful !!!!!.
    Hope to see another vid about MySQL and Postgre !!

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому

      Thanks for the feedback

    • @alexgeld7173
      @alexgeld7173 Рік тому

      @@ICodeMechanic So, can I do it with Azure DataStudio on a Mac?

  • @sujaykha
    @sujaykha 2 роки тому +2

    u r channel deserves 500 million subs

  • @anandvardhan2514
    @anandvardhan2514 2 роки тому +3

    This is wonderful course. I have been waiting to learn these techniques. Thank you so much for making it.

  • @hassanraza6244
    @hassanraza6244 Рік тому +3

    Kindly create a full course on SQL Server - DBA

  • @TonyTigerTonyTiger
    @TonyTigerTonyTiger 7 днів тому

    The one I just mentioned (starting around 16:50) is also a bit inconsistent. He just talked about a clustered index, then kind of seems to be talking about a table scan, then says indexes will be covered later. When he says a scan operation will read every data page in the table, is he talking about a heap, or a table with a clustered index????

  • @TonyTigerTonyTiger
    @TonyTigerTonyTiger 7 днів тому

    20:03 A grammatical error. It says "a criteria". Criteria is plural. That is like saying "I saw a cats eating food.". The singular form of criteria is criterion. It should say either, "access data by a criterion..." or "access data by criteria....".

  • @94964yasumo
    @94964yasumo 2 роки тому +5

    I executed the same query as the section 2.6 at (0:52:30) and got a different result that was an empty table. I wonder why ce.CourseOfferingId is specified as NULL. It supposes to have a not-null constraints. Would you please teach me?

    • @ebenbrittz535
      @ebenbrittz535 7 місяців тому

      Yes, I also got this, and the SQL Execution plan is completely different to what is shown in the video.

  • @TonyTigerTonyTiger
    @TonyTigerTonyTiger 7 днів тому

    When he is comparing execution plans, why does he only look at estimated execution plans?? There can be a lot of useful information in the actual execution plan, which contains the actual values (actual number of rows read, etc.), which can differ a lot from the estimated values .... and such differences can be key in figuring out why a query runs slowly.

  • @ayomidea-s
    @ayomidea-s 2 роки тому +6

    You guys are the best!

  • @parthasarathiramachandran8189
    @parthasarathiramachandran8189 Рік тому +1

    Timstamps for various topics covered..
    10:08 Spooling: duplicate aggregation: 18:21 Hashmatch: unsorted data 23:54 KeyLookup: missing data
    ua-cam.com/video/t2R0-xcKw44/v-deo.html

  • @shubhamkhinchi2401
    @shubhamkhinchi2401 Місяць тому

    Thank you so much Rajan for what i exactly looking for .
    💯

  • @TheFunVampire
    @TheFunVampire Рік тому +3

    Outstanding video and resource, thank you so much for making this!

  • @kwizerafrank4978
    @kwizerafrank4978 2 роки тому +4

    This was what i was looking for!

  • @north-eastblue7326
    @north-eastblue7326 2 роки тому +10

    Thank you so much for this course, exactly what I needed.🤩

  • @TonyTigerTonyTiger
    @TonyTigerTonyTiger 7 днів тому

    16:50 It is already wrong. It claims that a scan operation reads every data page in the table. Nope. It might, but it might not.
    A scan starts at the beginning (or ending) of the (clustered or non-clustered) index and reads 8k pages one at a time FOR AS LONG AS IS NEEDED. For example, suppose there is a table that stores information about people, and one of the fields is YearOfBirth, and an index is created on that field. A query with WHERE YearOfBirth < 2000 will start at the first page in the index (with, say, YearOfBirth = 1957) and read every page UNTIL IT READS THE FIRST PAGE WITH A ROW WHERE YearOfBirth is >= 2000: at point, no more pages will be read, because no more rows need to be read. SQL Server knows that no other page that is so far unscanned can contain a row with YearOfBirth < 2000, so SQL Server stops.

  • @metodievmetodiev
    @metodievmetodiev Місяць тому

    Hello @codeMechanic .. I am using M1 MacBook Air and was wondering whether I can do this course? I currently installed Azure Data Studio on Docker but not able to do the students.bak exercise thus won't be able to run the queries.. where can I find the data so I do an import?

  • @maheshd11
    @maheshd11 2 роки тому +11

    Great job from you people.

  • @lawb4144
    @lawb4144 2 роки тому +4

    Great Course. Thank you so much.

  • @chrisgalvez
    @chrisgalvez Рік тому

    I'm glad have found this jewel. Thank you very much.

  • @puhgete
    @puhgete Рік тому

    I'm running SQL server 2017 and I don't get any results back when I run the query for 2.6. Also, if I compare the estimated execution plans for both queries I don't see an entry for "Top" with the query using "WHERE NOT EXISTS". For the first issue, I would guess that I could delete all records from the CourseEnrollments table where the CourseOfferingId is 56637 or 58317. With the second issue, I can only guess that my version of SQL is coming up with a different execution plan, and I have no control over that? UPDATE: Looking at the video again, I saw that there is an Index Seek on the CourseEnrollments table, so it looks like the database backup is missing that. I added the following index and my execution plan now matches what is shown in the video:
    USE [Students]
    GO
    CREATE NONCLUSTERED INDEX IX_CourseEnrollments_CourseOfferingID
    ON [dbo].[CourseEnrollments] ([CourseOfferingId])
    GO

  • @SandeepSingh-nn8lu
    @SandeepSingh-nn8lu 2 місяці тому

    Thanks Rajan - great course!

  • @rubeenaparakkal6787
    @rubeenaparakkal6787 Рік тому +2

    Hi..very useful video..Is there any training available for SQL performance tuning in dba or architect level?

  • @ArunKumar-tx1re
    @ArunKumar-tx1re 2 роки тому +1

    Wow great.this is what I was expecting.thank you so much

  • @rogeriocastellano449
    @rogeriocastellano449 Рік тому

    Congratulations, very comprehensive course.

  • @alekkerm4524
    @alekkerm4524 2 роки тому +2

    Great course, exactly what I needed!

  • @P5toraskar1986
    @P5toraskar1986 11 місяців тому

    Thank you so much for very imp this and if you have any more like this then please upload it.

  • @shivaganga9148
    @shivaganga9148 11 місяців тому

    Awesome Rajan ji it is a great one very easy explanation

  • @ShirleySinha-ps5lh
    @ShirleySinha-ps5lh 3 місяці тому

    is there any book from where we can study all these?

  • @NK-xw4uu
    @NK-xw4uu 2 роки тому

    At 1:59:11, you have shown an index as lastname,firstname,degreeid. Will the 3rd sql query be able to utilize this index for degreeid?

  • @adwaitchavan6638
    @adwaitchavan6638 2 роки тому +2

    Can you please build a program for Postgres Performance essentials

  • @celestialbeing4767
    @celestialbeing4767 2 роки тому +1

    The back bone in either backend and front-end.

  • @dark_joeha2k3r55
    @dark_joeha2k3r55 3 місяці тому

    great tutorial. Thank you very much!

  • @saadhussain4681
    @saadhussain4681 Рік тому

    Which version of sql server we will learn in this vide?

  • @NK-xw4uu
    @NK-xw4uu 2 роки тому +1

    Top class quality video

  • @ashenupendra
    @ashenupendra 2 роки тому +1

    Very useful, Thank you !!!

  • @Santosh-bx2ub
    @Santosh-bx2ub Місяць тому

    Wonderful.

  • @dhatsy2k
    @dhatsy2k Рік тому

    Wonderful.. thank you so much 🙏

  • @MayurManjal
    @MayurManjal 2 роки тому

    Request you to please make a Video on SOC or SIEM 🙏 please it will help lot of people like me who can't afford Expensive courses #freeeducationforall

  • @aramj90
    @aramj90 2 роки тому +2

    set speed to 1.5x⭐or you will sleep, although very profoundly and well

  • @sicious1
    @sicious1 2 роки тому

    Thank you for sharing this good course.Can you share the ppt.

  • @happyvalley8454
    @happyvalley8454 Рік тому

    Presentation was great.Can i get that ppt ?

  • @aybe8
    @aybe8 2 роки тому +2

    SSIS please!

  • @naveenchandran3023
    @naveenchandran3023 2 роки тому

    Please post pl/sql course it will help many people

    • @freecodecamp
      @freecodecamp  2 роки тому +5

      Here are some courses that may help you:
      SQL Course: ua-cam.com/video/HXV3zeQKqGY/v-deo.html
      MySQL Course: ua-cam.com/video/ER8oKX5myE0/v-deo.html
      University Database Systems Course: ua-cam.com/video/4cWkVbC2bNE/v-deo.html

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому

      Noted

  • @samuelmbah8789
    @samuelmbah8789 2 роки тому +1

    I love you guys ❤️❤️❤️

  • @mohammedabdulsattar125
    @mohammedabdulsattar125 2 роки тому

    Hi sir, the tools which u are used in this video we can also use in oracle sql developer or not???

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому

      Sorry, but this is only for Microsoft SQL Server. it will not be used for Oracle Database

  • @TonyTigerTonyTiger
    @TonyTigerTonyTiger 7 днів тому

    Another codecamp course that doesn't indicate the version in the title or the description, which probably means it is an OLD version of SQL Server.

  • @saplay3372
    @saplay3372 2 роки тому +1

    Great

  • @slahomar1497
    @slahomar1497 2 роки тому

    What's a great video, are concepts and strategies in this course applicable for PostgresDB ?? or for all SQL languages no matter whether it's SQL server or PostgressDB ????

    • @phenomenon7030
      @phenomenon7030 Рік тому

      Did you find an answer for your question ?

  • @__________________________6910
    @__________________________6910 2 роки тому

    Where are the links ?

  • @amolmestry4255
    @amolmestry4255 2 роки тому +1

    Great course, help me a lot👍

  • @lucasrocha633
    @lucasrocha633 2 роки тому +1

    I don't like SQL Server for example, I need to get a select result and generate script to insert based in values for the query to put in other table or database its impossible without payable tools. In MySQL its easier.

  • @riju1956
    @riju1956 2 роки тому

    KYA BAAT HAI

  • @h1permonth723
    @h1permonth723 Рік тому

    I have a query, it works very speed but suddenly it's taking more time, I can optimize but I want to know the root cause why it works before why it's not now ?, can you please tell me what can I do to know the root cause

  • @shawon791
    @shawon791 2 роки тому

    Does this work for MySQL database?

    • @Louisianish
      @Louisianish 2 роки тому +3

      Probably to an extent, but they are different database management systems. I’m sure a lot of this is applicable to other RDBMS like MySQL and PostgreSQL, though.

    • @ICodeMechanic
      @ICodeMechanic 2 роки тому

      No Shawon, it only works with Microsoft SQL Server

    • @michaelcheung6290
      @michaelcheung6290 Рік тому

      ​@@ICodeMechanicoh why? Because these are implemented very differently in other RDBMS?

  • @vincentrayalba5936
    @vincentrayalba5936 2 роки тому +1

    Can you make solid works video plzzzz.

    • @Louisianish
      @Louisianish 2 роки тому +1

      I’m sure they’re working on it. Solid is a fairly new framework, right?

  • @Ravi-tq7mv
    @Ravi-tq7mv 2 роки тому

    Awesome

  • @blueshardstudio705
    @blueshardstudio705 2 роки тому

    Hi freeCodeCamp! I'd like to ask you if you can make tutorial for C++ desktop development. Thanks 😀

  • @cleanzerg729
    @cleanzerg729 2 роки тому

    if youtube allows users to change the accent of the videos based on the scripts, that would be great

  • @soumadip_skyy_banerjee
    @soumadip_skyy_banerjee 2 роки тому +2

    ❤️

  • @juanignaciobrianoquintan7342
    @juanignaciobrianoquintan7342 2 роки тому

    Selent!!!!!!

  • @oooooPizda
    @oooooPizda 2 роки тому +1

    That Indian speaking make me smile)))

    • @ash3rr
      @ash3rr 2 роки тому +1

      The Indian makes my ears cry.

  • @dheeraj0076
    @dheeraj0076 2 роки тому

    We have only one like button 😒 Period

  • @thanhpn7188
    @thanhpn7188 9 місяців тому

    Can't send 100 likes to your course 😂

  • @nishikisan6675
    @nishikisan6675 2 роки тому

    hay bruh

  • @data_home
    @data_home 2 роки тому

    Writing...

  • @adityavikramsinha408
    @adityavikramsinha408 2 роки тому

    Olaaa

  • @matthewlavancher7978
    @matthewlavancher7978 2 роки тому

    A+++++

  • @orion_yt
    @orion_yt 2 роки тому

    2nd

  • @princesscrawforddd.6123
    @princesscrawforddd.6123 2 роки тому +2

    Your mother

  • @waqar_ahmed3168
    @waqar_ahmed3168 Рік тому

    You are watching the video 😭

  • @ritasing5858
    @ritasing5858 2 роки тому

    I have idea to make mobile application
    Would you like to invest and become a billionaire

  • @snehilkumar419
    @snehilkumar419 10 місяців тому

    not working- download database backup files - students.bak is not visible to download. please check