How to Read an Execution Plan: Databases for Developers: Performance #1

  Рет қаралды 66,948

The Magic of SQL

The Magic of SQL

Күн бұрын

Пікірлер: 61
@therasammaldaniel5800
@therasammaldaniel5800 4 жыл бұрын
You're the best SQL teacher we have ever seen. The way you explain with examples is easy for a layman too to understand. Thank you very much for everything you offered to us so far. You should be global reach.
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
You're too kind :) Glad I could help
@Thedirasa
@Thedirasa 3 жыл бұрын
He is making this video from his media room. Appreciate your contribution to the world.
@macpaz
@macpaz 2 жыл бұрын
by far the best video on query performance on youtube. thank you!
@Symmetryful
@Symmetryful 2 жыл бұрын
I just wanted you to know that you’re a natural teacher. And that is really rare!
@TheMagicofSQL
@TheMagicofSQL 2 жыл бұрын
Thanks, glad you found this useful!
@mustaphachatbi5952
@mustaphachatbi5952 4 жыл бұрын
found your channel recently , did not watch your videos yet but seems interesting and just wanted to encourage you and thank you (y)
@kopaczp
@kopaczp 2 жыл бұрын
Perfect! Very easy and joyful explanation of (usually) database subjects! Thanks!
@TheMagicofSQL
@TheMagicofSQL 2 жыл бұрын
You're welcome, thanks!
@mostafayahia9647
@mostafayahia9647 4 жыл бұрын
Big fan of your work from Egypt.. Thank so much for your effort
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
Thanks Mostafa! Stay tuned for more videos over the coming weeks :)
@francisantony12
@francisantony12 Ай бұрын
This helped me a lot. Thank you for this video
@TheMagicofSQL
@TheMagicofSQL Ай бұрын
You're welcome! Glad this is useful
@lancemartin6
@lancemartin6 3 жыл бұрын
In the first 8 seconds of your video, I decided to sub. Nice job bro.
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
Awesome, glad you find these useful!
@nhatquang3807
@nhatquang3807 3 жыл бұрын
can this be applied for Sql server too? anw, thanks for very comprehensive video.
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
The principles are the same for all relational databases, though some of the terminology is different
@MeerAthil
@MeerAthil 4 жыл бұрын
Good explanation, easy to understand. Please make videos on oracle locks and how to fix it
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
Thanks! What specifically do you want to know about locks? I've got a video discussing issues with update and deadlocks kzbin.info/www/bejne/fJ3Zm2VvitB-htE What else would you like to know?
@MeerAthil
@MeerAthil 4 жыл бұрын
@@TheMagicofSQL Thanks for your reply. I'll watch the video. If any doubt I'll comment. 👍
@rohitpuranikratlami
@rohitpuranikratlami 2 жыл бұрын
Hello Sir, I have one doubt please guide me: In the video at 6:25, number of rows from cuddly toys it's showing 5 in LAST_OUTPUT_ROWS column ,don't it should be 3. Later then 9 rows from pen make that to 7.Got confused here so I think there is some logic which I am missing so wanted to know whats the logic to arrive to those numbers.
@TheMagicofSQL
@TheMagicofSQL 2 жыл бұрын
LAST_OUTPUT_ROWS is how many rows this operation returns. The query fetched three rows from COLOURS It then fetched five rows from CUDDLY_TOYS and joined these to COLOURS Only three rows from CUDDLY_TOYS matched a row in COLOURS - two were discarded. Which is why the HASH JOIN directly above COLOURS has three LAST_OUTPUT_ROWS Does this help explain it?
@sharvarirg984
@sharvarirg984 2 жыл бұрын
@@TheMagicofSQL Those 3 rows will be matched with 9 rows in PEN,only 7 matched,So LAST_OUTPUT_ROWS has 7. Then those 7 will be matched with 24 rows in brick. How did 56 came as LAST_OUTPUT_ROWS? Can you put table contents in description? Which join will be performed (INNER JOIN)? select * from four_table_join? What is four_table_join? (I have seen select * from single_table. I have seen select * from A inner join B on A.x=B.y; But have not seen select * from four_table_join )Sorry to expect more basic thing from you. Please help.
@TheMagicofSQL
@TheMagicofSQL 2 жыл бұрын
FOUR_TABLE_JOIN is a view that contains all the joins. Some of those 7 rows from the hash join matched the same rows in BRICKS. For example, rows 1 & 2 from the join both match BRICKS rows 1 & 2, giving 4 in total This video is taken from my free SQL performance tuning class - to understand this further I suggest you take it devgym.oracle.com/pls/apex/dg/class/databases-for-developers-performance.html
@rohitpuranikratlami
@rohitpuranikratlami 2 жыл бұрын
@@TheMagicofSQL Thanks a lot It's much clear to me know 🙂
@tiglymigly2846
@tiglymigly2846 2 жыл бұрын
Agree with Rohit, the provided example of four_table_join is not that clear and maybe for some, even can be found confusing. Probably it is because the picture you providing (3:49), about that we have 3-colors, 3-toys, 11-bricks ...etc. and saying that we try to join all of them by color, is not what you later on showing in the details of four_table_join execution plan (6:29). four_table_join and it's data is a black box for a viewer, and thus it is hard for a beginner to comprehend how previously 7 resulted rows, hashjoined with 24 rows of bricks became 56, or 3 rows joined with 9 became 7...
@sanketmandlik
@sanketmandlik 4 жыл бұрын
Working on PLSQL since 3 yrs. This is much needed skill. Eagerly waiting for next video. Also I didn't understand that subquery execution part.
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
What is it that you don't understand about subqueries?
@sanketmandlik
@sanketmandlik 4 жыл бұрын
Scalar subquery. I didn't see that query earlier. Now I watched it again it crisp clear. Pardon me. I will open my laptop and get hands dirty with autotrace. Looking forward to great learnings Good day ☺️
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
Cool :)
@sirknumbskull3418
@sirknumbskull3418 3 жыл бұрын
Your autotrace looks simple. My is full if index and access prediction. Is there a way to make it more simple?
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
You can change what appears in the output by going to Tools -> Preferences -> Autotrace. There you'll find a wealth of properties you can enable/disable
@prashanthr130482
@prashanthr130482 3 жыл бұрын
hi , May I know how to find best join order and index for a huge query with a huge explain plan..
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
In general it's best to access the table that returns the fewest rows first. Indexes are effective when they locate few rows in the table. I discuss these topics further in my free course, Databases for Developers: Performance Sign up at devgym.oracle.com/pls/apex/dg/class/databases-for-developers-performance.html
@nileshsahastrabuddhe1182
@nileshsahastrabuddhe1182 4 жыл бұрын
Thanks sir 🙏🙏🙏 really good explanation
@jorgebedoyarpo
@jorgebedoyarpo 3 жыл бұрын
Thank you very much.......your videos are very useful to me.... I want to ask yo something... I am interested in watching your videos about performance, especially about execution plans....I see that you have some videos about that theme.... In what order do you suggest I see them?
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
Easiest is to follow the Databases for Developers: Performance playlist If you want something more in-depth, I've built a free course around these videos which includes example scripts and quizzes. Join this at: devgym.oracle.com/pls/apex/dg/class/databases-for-developers-performance.html
@Kivencito
@Kivencito Жыл бұрын
I loved the video! thank you SO much! :)
@TheMagicofSQL
@TheMagicofSQL Жыл бұрын
You're welcome!
@payalmadhavi7162
@payalmadhavi7162 3 жыл бұрын
Gr8 job!expecting more vedios on db security.
@personalchaoyu8732
@personalchaoyu8732 3 жыл бұрын
So first question first, what are behind that tinny door ?
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
My tiny SQL elves of course ;)
@masterprattu
@masterprattu 4 жыл бұрын
Thanks for the amazing videos m8
@kizitoebelechukwu8387
@kizitoebelechukwu8387 3 жыл бұрын
can you do a video for teradata explain plain
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
I work for Oracle, so I won't be covering other databases in-depth
@jinan.es.
@jinan.es. 4 жыл бұрын
You're amazing... I mean you really are amazing!
@TheMagicofSQL
@TheMagicofSQL 4 жыл бұрын
Thanks, glad you found this useful
@albertogonzalez5114
@albertogonzalez5114 4 жыл бұрын
thanks!
@sameerp510
@sameerp510 3 жыл бұрын
John den fbr pya na
@tiagorsacxs1
@tiagorsacxs1 3 жыл бұрын
You're the best !!!!
@TheMagicofSQL
@TheMagicofSQL 3 жыл бұрын
Thanks!
@juno7893
@juno7893 4 жыл бұрын
👏🏻👏🏻👏🏻
@nviknesh8112
@nviknesh8112 Жыл бұрын
Toshiba and not an Imac.. Great
@caetanogodinat1989
@caetanogodinat1989 11 ай бұрын
nice
@danielskiba6705
@danielskiba6705 3 жыл бұрын
The nodding zipper is flashing and is distracting :'(
@m.a.6999
@m.a.6999 3 жыл бұрын
for algorithm
@solifugo
@solifugo 4 жыл бұрын
:clapping: , :clapping: , :clapping:
@dothanhlong1847
@dothanhlong1847 6 ай бұрын
.
What are Optimizer Statistics? Databases for Developers: Performance #2
11:19
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 7 МЛН
Long Nails 💅🏻 #shorts
00:50
Mr DegrEE
Рет қаралды 16 МЛН
Oracle Performance Tuning - Read and interpret Explain Plan
17:43
SQL Server Execution Plan Basics
17:26
Kevin Hill
Рет қаралды 53 М.
Using DBMS_XPLAN.DISPLAY_CURSOR to examine execution plans
12:33
Maria Colgan (SQLMaria)
Рет қаралды 36 М.
How to Find Slow SQL: Databases for Developers: Performance #9
11:16
The Magic of SQL
Рет қаралды 17 М.
How to Understand the SSMS Execution Plan
6:52
Database Star
Рет қаралды 4,9 М.
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 7 МЛН