آموزش SQL پیشرفته برای تنظیم پرس و جو و بهینه سازی عملکرد

Advanced SQL for Query Tuning and Performance Optimization

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: پرس‌وجوهای SQL می‌توانند سریع و بسیار کارآمد باشند، اما همچنین می‌توانند کند باشند و نیاز به منابع CPU و حافظه بیش از حد داشته باشند. برای بسیاری از برنامه نویسان SQL، حملات گاه به گاه با پرس و جوهای طولانی مدت و عملکرد ضعیف به سادگی برای دوره مشابه هستند. اما با به دست آوردن درک بهتری از نحوه ترجمه پرس‌و‌جوهای SQL توسط پایگاه‌های داده به برنامه‌های اجرایی، می‌توانید برای جلوگیری از این مشکلات اقداماتی را انجام دهید. در این دوره، Dan Sullivan به شما نشان می دهد که چگونه برنامه های اجرای پرس و جو را تجزیه و تحلیل کنید و از استراتژی های مدل سازی داده ها برای افزایش عملکرد پرس و جو استفاده کنید. دان نحوه اجرای پرس‌و‌جوهای SQL را شرح می‌دهد، انواع مختلف ایندکس‌ها و نحوه تنظیم پرس و جو را برجسته می‌کند، چندین روش را برای انجام اتصالات پوشش می‌دهد، و نحوه استفاده از پارتیشن‌بندی و نماها را برای بهبود عملکرد مورد بحث قرار می‌دهد. به علاوه، Dan به شما نشان می‌دهد که چگونه PostgreSQL را در GitHub Codespaces اجرا کنید تا بتوانید سریع‌تر شروع به یادگیری کنید.

سرفصل ها و درس ها

معرفی Introduction

  • آنچه شما باید بدانید What you should know

  • زمان پاسخگویی به پرس و جو را با تنظیم پرس و جو کاهش دهید Reduce query response time with query tuning

1. SQL چگونه یک Query را اجرا می کند 1. How SQL Executes a Query

  • پارتیشن بندی داده ها Partitioning data

  • اسکن جداول و نمایه ها Scanning tables and indexes

  • پیوستن به جداول Joining tables

  • راه حل: نحوه پارتیشن بندی جدول را انتخاب کنید Solution: Choosing how to partition a table

  • چالش: انتخاب نحوه پارتیشن بندی جدول Challenge: Choosing how to partition a table

  • از SQL اعلامی گرفته تا برنامه اجرایی رویه ای From declarative SQL to a procedural execution plan

2. ابزار PostgreSQL برای تنظیم 2. PostgreSQL Tools for Tuning

  • شاخص ها Indexes

  • چالش: ایجاد یک طرح اجرای پرس و جو Challenge: Generating a query execution plan

  • راه حل: ایجاد یک طرح اجرای پرس و جو Solution: Generating a query execution plan

  • تبیین و تحلیل کنید Explain and analyze

  • استفاده از PostgreSQL در Codespaces Using PostgreSQL in Codespaces

  • طرح مثال: انتخاب با بند WHERE Example plan: Selecting with a WHERE clause

3. انواع شاخص ها 3. Types of Indexes

  • ایندکس های اختصاصی PostgreSQL PostgreSQL-specific indexes

  • چالش: انتخاب شاخص Challenge: Choosing an index

  • شاخص های فیلتر شکوفه Bloom filter indexes

  • شاخص های درخت B B-tree indexes

  • راه حل: انتخاب یک شاخص Solution: Choosing an index

  • نمایه سازی Indexing

  • طرح نمونه هش ایندکس Hash index example plan

  • شاخص های هش Hash indexes

  • طرح نمونه B-tree index B-tree index example plan

  • نمایه های بیت مپ Bitmap indexes

  • طرح نمونه نمایه بیت مپ Bitmap index example plan

4. اتصالات تنظیم 4. Tuning Joins

  • چالش: طراحی یک پیوست Challenge: Designing a join

  • طرح نمونه حلقه تو در تو Nested loop example plan

  • حلقه های تو در تو Nested loops

  • هاش می پیوندد Hash joins

  • سوالات فرعی در مقابل پیوستن ها Subqueries vs. joins

  • مثال پیوستن ادغام Merge join example

  • انواع اتصالات Types of joins

  • طرح نمونه هش پیوستن Hash join example plan

  • راه حل: طراحی یک اتصال Solution: Designing a join

  • ادغام می پیوندد Merge joins

5. پارتیشن بندی داده ها 5. Partitioning Data

  • پارتیشن بندی با هش Partition by hash

  • پارتیشن بندی افقی در مقابل عمودی Horizontal vs. vertical partitioning

  • پارتیشن بر اساس لیست مثال Partition by list example

  • پارتیشن بندی بر اساس لیست Partition by list

  • چالش: پارتیشن بندی جدول Challenge: Partitioning a table

  • راه حل: پارتیشن بندی جدول Solution: Partitioning a table

  • مثال پارتیشن بندی بر اساس محدوده Partition by range example

  • پارتیشن بندی با مثال هش Partition by hash example

  • پارتیشن بندی بر اساس محدوده Partition by range

6. دیدگاه های مادی شده 6. Materialized Views

  • چالش: ایجاد یک دیدگاه مادی Challenge: Creating a materialized view

  • راه حل: ایجاد یک نمای مادی Solution: Creating a materialized view

  • دیدگاه های مادی شده Materialized views

  • تجدید نظرهای مادی شده Refreshing materialized views

  • ایجاد دیدگاه های مادی شده Creating materialized views

7. آمار پایگاه داده و شناسایی پرس و جوهای کند 7. Database Statistics and Identifying Slow Queries

  • تجزیه و تحلیل آمار اجرا با pg_stat_statements Analyzing execution statistics with pg_stat_statements

  • چالش: تجزیه و تحلیل آمار طرحواره Challenge: Analyze schema statistics

  • راه حل: تجزیه و تحلیل آمار طرحواره Solution: Analyze schema statistics

  • تجزیه و تحلیل اضافی با سایر داده های pg_stats Additional analysis with other pg_stats data

  • بررسی طرح های اجرایی با ماژول auto_explain Reviewing execution plans with the auto_explain module

  • جمع آوری آمار در مورد داده ها در جداول Collect statistics about data in tables

8. سایر تکنیک های بهینه سازی 8. Other Optimization Techniques

  • بهبود استفاده از حافظه پنهان Improving cache utilization

  • راه حل: یک عبارت جدول مشترک طراحی کنید Solution: Design a common table expression

  • اجرای پرس و جو موازی Parallel query execution

  • نکاتی به Query Optimizer Hints to the Query Optimizer

  • نکات متفرقه Miscellaneous tips

  • استفاده از عبارات رایج جدول برای جلوگیری از محاسبات تکراری Using common table expressions to avoid repetitive computation

  • چالش: یک عبارت جدول مشترک طراحی کنید Challenge: Design a common table expression

نتیجه Conclusion

  • مراحل بعدی Next steps

نمایش نظرات

نظری ارسال نشده است.

آموزش SQL پیشرفته برای تنظیم پرس و جو و بهینه سازی عملکرد
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
2h 9m
63
Linkedin (لینکدین) lynda-small
19 مهر 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
2,089
- از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Linkedin (لینکدین)

لینکدین: شبکه اجتماعی حرفه‌ای برای ارتباط و کارآفرینی

لینکدین به عنوان یکی از بزرگترین شبکه‌های اجتماعی حرفه‌ای، به میلیون‌ها افراد در سراسر جهان این امکان را می‌دهد تا ارتباط برقرار کنند، اطلاعات حرفه‌ای خود را به اشتراک بگذارند و فرصت‌های شغلی را کشف کنند. این شبکه اجتماعی به کاربران امکان می‌دهد تا رزومه حرفه‌ای خود را آپدیت کنند، با همکاران، دوستان و همکاران آینده ارتباط برقرار کنند، به انجمن‌ها و گروه‌های حرفه‌ای ملحق شوند و از مقالات و مطالب مرتبط با حوزه کاری خود بهره‌مند شوند.

لینکدین همچنین به کارفرمایان امکان می‌دهد تا به دنبال نیروهای با تجربه و مهارت مورد نیاز خود بگردند و ارتباط برقرار کنند. این شبکه حرفه‌ای به عنوان یک پلتفرم کلیدی برای بهبود دسترسی به فرصت‌های شغلی و گسترش شبکه حرفه‌ای خود، نقش مهمی را ایفا می‌کند. از این رو، لینکدین به عنوان یکی از مهمترین ابزارهای کارآفرینی و توسعه حرفه‌ای در دنیای امروز مورد توجه قرار دارد.