راهنمای جامع SQL Tuning — بررسی AWR، Trace، TKPROF، SQL Monitor در اوراکل
مقدمه | چرا SQL Tuning فقط Query نوشتن نیست؟ اگر مدتی با Oracle کار کرده باشی، احتمالاً این سناریو برات آشناست:«همین SQL دیروز عالی اجرا میشد،امروز بدون هیچ تغییری افتضاح کُند شده!»اینجاست که خیلیها اشتباه میکنند و فکر میکنند:باید SQL رو Rewrite کنیمیا حتماً Index کم داریمدر حالی که بیش…
بررسی دقیق Automatic Workload Repository و تحلیل AWR Report در اوراکل
اگر در دنیای مدیریت پایگاه دادههای اوراکل فعالیت کرده باشی، حتماً نام AWR Report یا همان Automatic Workload Repository به گوشت خورده است.این گزارش یکی از قدرتمندترین ابزارهای تحلیل عملکرد (Performance Tuning) در Oracle Database است.در حقیقت AWR مانند یک «جعبه سیاه» عمل میکند که در پسزمینه، تمام اتفاقات مهم…
چرا ایندکس (Index) در Oracle بیاثر میشود و چگونه سرعت جستجو را برگردانیم؟
اگر با پایگاه داده Oracle کار کرده باشی، حتماً تجربه کردی که گاهی ایندکسهای ساختهشده روی جدولها، ناگهان اثر خودشان را از دست میدهند.این یعنی Queryها به جای استفاده از ایندکس، به سراغ Full Table Scan میروند و سرعت به شدت پایین میآید.در این مقاله آموزش اوراکل در بخش آموزش…
بررسی جامع قابلیت Automatic Indexing در Oracle 23ai
مقدمه: انقلاب در مدیریت ایندکسها از نسخهی 19c، اوراکل شروع به معرفی قابلیت «ساخت خودکار ایندکس» کرد، اما در نسخهی جدید Oracle 23ai این ویژگی به بلوغ کامل رسیده.قابلیت Automatic Indexing یعنی اوراکل خودش تصمیم میگیرد کجا ایندکس بسازد یا حذف کند تا سرعت Queryها افزایش یابد، بدون اینکه DBA…
چگونه Execution Plan را در Oracle 23ai تحلیل کنیم و عوامل کندی را شناسایی کنیم؟
یکی از مهارتهای حیاتی برای هر DBA یا توسعهدهنده Oracle، توانایی درک و تحلیل Execution Plan است.این طرح در واقع نقشه راهی است که Optimizer تعیین میکند تا مشخص شود یک Query چگونه و با چه ترتیبی اجرا شود.در نسخه جدید Oracle Database 23ai، با قابلیتهای تازهای مثل Adaptive Plans،…
چرا Query من در Oracle 19c کند اجرا میشود؟
وقتی یه Query در Oracle 19c کند میشه، اولین چیزی که ممکنه به ذهنت برسه اینه که “حتماً دیتام زیاده” یا “سیستم ضعیفه!”.اما واقعیت اینه که کندی همیشه از حجم داده یا سختافزار نیست — معمولاً یه گره نامرئی، یعنی Bottleneck واقعی داره که باید قدمبهقدم پیدا بشه.بیاین با هم…
مقایسه CTE (WITH Clause) و Subqueryها از منظر Performance در Oracle
اگر با Oracle SQL کار کرده باشی، حتماً با دو روش اصلی برای شکستن کوئریهای پیچیده آشنا هستی:استفاده از CTE یا همان WITH Clauseاستفاده از Subqueryهای معمولیهر دو روش ظاهراً همان هدف را دنبال میکنند، اما از نگاه Performance (کارایی و سرعت اجرا) تفاوتهای مهمی دارند که در تصمیمگیریهای روزمره…
رازهای پنهان Optimizer Oracle که هیچکس به شما نمیگوید!
اگر فکر میکنید اوراکل فقط دادهها را ذخیره و واکشی میکند، سخت در اشتباهید.در دل این غول دیتابیس، مغزی تمامعیار به نام Oracle Optimizer نشسته که تصمیم میگیرد چطور دستور SQL شما اجرا شود.اما نکته اینجاست: این مغز قانونهای پنهانی دارد که حتی خیلی از DBAها هم از آن خبر…
چگونه یک SQL کند را در Oracle به موشک تبدیل کنیم؟
اگر با پایگاه داده Oracle کار کرده باشی، حتماً با این صحنه مواجه شدی:یه کوئری ساده مینویسی، ولی اجراش از باز شدن درب قطارهای بینشهری هم بیشتر طول میکشه! 😅اینجاست که مفهوم SQL Tuning وارد بازی میشه.تو این مقاله آموزش اوراکل در بخش آموزش بهینه سازی کوئری، دقیقاً یاد میگیری…
Cardinality Misestimate: دشمن پنهان Performance در Oracle
تا حالا شده یه کوئری ساده توی محیط Oracle چند ثانیه طول بکشه، ولی همون کوئری، با یه تغییر جزئی، در کمتر از یک ثانیه اجرا بشه؟اگر جوابت مثبته، احتمالاً درگیر یکی از مهمترین و البته پنهانترین مشکلات Performance در Oracle شدی: 📌 Cardinality Misestimate – تخمین اشتباه تعداد ردیفها…
