معرفی دوره
دوره Oracle SQL Tuning با هدف آشنایی با روشهای بهینهسازی دستورات SQL و بهبود عملکرد پایگاههای داده Oracle طراحی شده است. در این دوره با نحوه پردازش داخلی دستورات SQL، تحلیل Execution Plan، آمار بهینهساز (Optimizer Statistics)، روشهای اتصال جداول، بهینهسازی ایندکسها و استفاده از Hintها آشنا میشوید. همچنین مباحثی مانند بهینهسازی عملیات مرتبسازی، پردازش موازی، پایش عملکرد SQL، بهینهسازی دستورات INSERT، UPDATE و DELETE، مدیریت Subqueryها، عیبیابی دستورات SQL و قابلیتهای جدید Oracle بررسی میشوند. این دوره برای برنامهنویسان SQL و PL/SQL و افرادی که با تحلیل و بهینهسازی عملکرد دستورات SQL سروکار دارند، مناسب است.
کلاسهای فعال دوره
سرفصلهای آموزشی دوره
Introduction to SQL Tuning
- History of SQL
- Evolution of SQL
- Exercise - declarative SQL
Internal processing of SQL statements
- Parsing SQL Syntax
- SQL Semantic Analysis
- Generating the execution plan
- Using optimizer plan stability
- Using the v$sql view
- Using the v$sql_plan view
- Exercise – Query the library cache
Optimizer Statistics
- Purpose of statistics
- Types of statistics (table, column, system)
- Histogram statistics
- Dynamic sampling
- using dbms_stats
- Exporting/importing statistics
- Statistics management
- Exercise – gather system stats
Optimizer modes and goals
- Management issues with system-wide optimization
- Different modes of SQL optimization
- Bi-modal databases
- Rule-based optimization
- Cost-based optimization
- All rows optimization
- First_rows optimization
- Exercise – display and change optimizer_mode
Table joining internals
- Sort-merge joins
- Nested Loop joins
- Hash joins
- STAR joins
- Bitmap joins
- Exercise – Change table join techniques & evaluate performance
SQL Tuning and full-table scans
- Basics of file I/O
- Sequential reads vs. scattered reads
- When full scans are best
- RAM caching in the SGA
- Automating table caching
- Solid State Disks
- Tracking full-scans over time with AWR
- Exercise – Query v$sql
Oracle parallel query and parallel DML
- Parallel and SMP processing
- Parallel query optimal degree
- Parallel query management (system, session, statement)
- Parallel DML
- Parallel parallelism
- Exercise: Run a parallel query
Exposing execution plans
- Evaluating Large-table, full-table scans
- Index Usage Analysis
- Reports on system-wide SQL execution
- Exercise – run autotrace options
Altering SQL execution plans
- Using hints
- Changing the system-wide optimizer mode
- Changing optimizer mode for specific statements
- Re-writing SQL queries
- Table join order evaluation
- Using the ordered hint
- Exercise – Optimizer costing models
Tuning SQL with hints
- Optimizer directives
- Scope of hints (session-level, statement level)
- Broad hints (optimizer mode) vs. narrow hints
- Good Hints vs. bad hints
- Using the ORDERED and LEADING HINTS
- Forcing index usage
- Using hints in subqueries
- Exercise – change an execution plan with a hint
Oracle Index Optimization
- B-Tree indexes
- Bitmap Indexes
- Function-based Indexes
- Clustered indexes
- Index-only tables
- Exercise – Create a function-based index
Tuning Oracle sorting
- When a sort is invoked (order by, group by, etc.)
- Sorting with indexes vs internal sorting
- Detecting disk sorts
- Sorted Hash Clusters
- Exercise: Force two sort methods
Monitoring SQL Performance
- Measuring end-to-end response time
- Measuring SQL throughput
- Using v$session_longops
- Optional Exercise – Run plan9i.sql
Oracle DML Tuning
- DML Tuning is not for neophytes
- Oracle DML tuning
- Optimizing Oracle SQL insert performance
- High Impact insert Tuning Techniques
- Tips for batch inserts
- Low-impact insert techniques (% and % faster)
- Tuning insert speed with the nologging option
- Reverse key indexes and insert performance
- Blocksize and insert performance
- Oracle Delete & Update Tuning
- High impact update techniques (over % faster):
- Low-impact techniques (between % and % faster)
- Using bulk binds for PL/SQL updates
- Oracle subquery factoring (with clause) for DML
Tuning with materialized views and temporary objects
- Materialized views
- Global temporary tables
- Using scalar subqueries (WITH clause)
- Simplifying complex SQL with temporary objects
- Exercise – Re-write complex query using temporary tables and WITH clause
Tuning subqueries
- Subquery Tuning and SQL
- Types of SQL Subqueries
- Tuning Guidelines for Subqueries
- Avoiding SQL Subqueries
- Subqueries in the where Clause
- In vs. exists Subqueries
- Same Results, Different Syntax and Plans
- Non-correlated subquery:
- Outer Join:
- Correlated Subquery:
- Tuning Scalar Subqueries
- Scalar Subquery Performance
- Removing Subqueries for Fast SQL Performance
- Internals of Temporary Tables
- Correlated vs. Non-correlated Subqueries
- Tuning Correlated Subqueries
- Automatic Rewriting not exists Subqueries
- Automatic Rewriting exists Subqueries
- Rewriting Non-equality Correlated Subqueries
- Rewriting exists Subqueries with the rank Function
- Subquery Hint Tuning
- Subquery Tuning with Index Hints
- Tuning Subqueries With the push_subq Hint
- Table Anti-Join Hints
- The merge_aj Hint
- SQL Tuning with the hash_aj Hint
- Exercise: Tune an anti-join
Troubleshooting bad SQL
- Troubleshooting Problem SQL
- The Holistic Approach to SQL Tuning
- Troubleshooting Oracle SQL Bugs
- What is Bad SQL?
- Identifying Problem SQL
- Troubleshooting with v$sql_plan
- SQL Troubleshooting with v$sql_plan_statistics
- Finding indexing opportunities
- Exercise: Find top SQL hogs
Advanced Optimizer Statistics
- Histograms
- Exporting/importing statistics
- Statistics management
- Exercise – Analyze schema and tables
- Bind variables
- Cursor sharing
- Minimize parsing workload
- Adaptive SQL execution features
- Statistics feedback
- Adaptive execution plans
- SQL Directives
- Performance instability
- Causes of instability
- SQL baselining and stored outlines
- Common performance issues
- The tuning advisors
- SQL Profiles and SQL Tuning Advisor
- The Segment Advisor
- The auto tuning task
- Parallel processing
- Table and index partitioning
- Range, hash and list partitioning for table
- Local and global index partitioning
- Partial indexes
- Real Application Testing
- Database Replay
- The SQL Performance Analyzer
توضیحات
بهینهسازی دستورات SQL یکی از مباحث مهم در بهبود عملکرد پایگاههای داده Oracle است. اجرای پرهزینه دستورات، کوئریهای ناکارآمد، مصرف بالای منابع و افزایش زمان پاسخگویی میتوانند عملکرد سیستمهای مبتنی بر پایگاه داده را تحت تأثیر قرار دهند.
در دوره Oracle SQL Tuning با مباحث مختلف بهینهسازی SQL، نحوه پردازش داخلی دستورات، تحلیل Execution Plan، آمار بهینهساز، روشهای اتصال جداول، بهینهسازی ایندکسها و بررسی مشکلات عملکردی دستورات SQL آشنا میشوید.
همچنین مباحثی مانند بهینهسازی کوئریها با استفاده از Hintها، پایش عملکرد SQL، بهینهسازی دستورات DML، کار با Subqueryها، آمار پیشرفته بهینهساز و قابلیتهای جدید مرتبط با بهینهسازی SQL در Oracle در این دوره بررسی میشوند.
مخاطبین دوره Oracle SQL Tuning چه کسانی هستند؟
- برنامهنویسانی که با SQL و PL/SQL کار میکنند و میخواهند کوئریهای کارآمدتر بنویسند و از اجرای پرهزینه دستورات جلوگیری کنند.
- افرادی که در تحلیل Execution Plan، شناسایی گلوگاههای عملکردی و تحلیل مصرف منابع تخصص دارند یا میخواهند در این حوزه فعالیت کنند.
- افرادی که مسئول طراحی راهکارهای دادهمحور هستند و باید عملکرد دستورات SQL و تأثیر آنها بر معماری و منابع سیستم را ارزیابی کنند.
- افرادی که در محیطهای عملیاتی با کندی برنامهها، افزایش زمان پاسخگویی، مصرف بالای CPU و مشکلات ناشی از اجرای SQL مواجه میشوند.
پیشنیاز دوره Oracle SQL Tuning
۱. تسلط نسبی به دستورات SQL
- دستورات SELECT، WHERE و ORDER BY
- انواع JOIN
- توابع گروهی و GROUP BY
- زیرکوئریها و عملگرهای EXISTS، IN و UNION
- آشنایی با توابع SQL و عبارتهای CASE
۲. آشنایی اولیه با ایندکسها
پس از اتمام دوره مدرک معتبر دریاف کنید
گواهینامه های پایان دوره سماتک با شرط حضور در جلسات و اتمام موفقیت آمیز دوره ها به فراگیران اعطا میگردد و نشاندهنده دانش و مهارت کسبشده شما در طول دوره آموزشی است. همچنین این مدارک میتوانند بهعنوان گواهی معتبر در مسیر ارتقای شغلی و حرفهای مورد استفاده قرار گیرند.
برای دانلود نمونه مدرک کلیک کنید.
سوالات متداول دوره
دوره Oracle SQL Tuning برای چه افرادی مناسب است؟
این دوره برای برنامهنویسانی که با SQL و PL/SQL کار میکنند، افرادی که در زمینه تحلیل Execution Plan و شناسایی گلوگاههای عملکردی تخصص دارند یا میخواهند در این حوزه فعالیت کنند، مسئولان طراحی راهکارهای دادهمحور و افرادی که با مشکلات عملکردی دستورات SQL در محیطهای عملیاتی مواجه هستند، مناسب است.
پیشنیاز شرکت در دوره Oracle SQL Tuning چیست؟
برای شرکت در این دوره، تسلط نسبی به دستورات SQL و آشنایی اولیه با ایندکسها لازم است. آشنایی با SELECT، WHERE، ORDER BY، انواع JOIN، توابع گروهی، GROUP BY، زیرکوئریها، EXISTS، IN، UNION، توابع SQL و عبارتهای CASE از پیشنیازهای آن است.
در دوره Oracle SQL Tuning چه مباحثی آموزش داده میشود؟
مباحث این دوره شامل SQL Optimization، پردازش داخلی دستورات SQL، Optimizer Statistics، تحلیل Execution Plan، روشهای اتصال جداول، بهینهسازی Index، Hintها، پایش عملکرد SQL، بهینهسازی DML، بهینهسازی Subqueryها، عیبیابی SQL و قابلیتهای جدید Oracle است.
آیا در دوره Oracle SQL Tuning تحلیل Execution Plan آموزش داده میشود؟
بله. نمایش و بررسی Execution Plan، تحلیل استفاده از Index، تغییر Execution Plan با استفاده از Hintها و عیبیابی دستورات SQL با استفاده از Viewهای مرتبط از جمله مباحث این دوره هستند.
آیا بهینهسازی دستورات INSERT، UPDATE و DELETE در این دوره بررسی میشود؟
بله. در بخش Oracle DML Tuning، بهینهسازی INSERT، UPDATE و DELETE و تکنیکهای مرتبط با بهبود عملکرد این دستورات بررسی میشوند.
آیا در دوره Oracle SQL Tuning تمرین وجود دارد؟
بله. در سرفصلهای دوره تمرینهایی مانند بررسی Library Cache، جمعآوری System Statistics، ارزیابی روشهای اتصال جداول، اجرای Parallel Query، بررسی AutoTrace، تغییر Execution Plan با Hint، ایجاد Function-Based Index و عیبیابی دستورات SQL در نظر گرفته شده است.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.