آموزش تخصصی MySQL: معرفی Performance Schema - نکته خودمونی
معرفی Performance Schema
- Performance Schema مثل یه دوربین فوق سریع تو دیتابیس توئه 📸؛ این ابزار تمام جزئیات داخلی عملکرد MySQL (مثل زمان اجرا، قفلها، I/O) رو با دقت بالا ثبت میکنه.
- تفاوت اصلی اینه: Performance Schema بر خلاف General Log، مستقیماً به کوئریها نگاه نمیکنه، بلکه رویدادها (Events) و زمان مصرف شده توسط هر بخش از سرور رو مانیتور میکنه. 💡
- این ابزار، دادهها رو در حافظه (RAM) نگه میداره و نه روی دیسک، برای همین سربار (Overhead) خیلی کمی روی عملکرد سرور ایجاد میکنه و میتونی همیشه فعال نگهش داری. 🏆
- با کوئری کردن جداول Performance Schema میتونی بفهمی که دقیقاً کدوم کوئریها یا کدوم ابزارهای داخلی دیتابیس (مثل مدیریت قفل) دارن بیشترین زمان رو مصرف میکنن. ⏱️
- یکی از مفیدترین جداول، events\statements\summary\by\digest هست. این جدول کوئریهای مشابه رو گروهبندی میکنه و نشون میده که کدوم الگوهای کوئری بیشترین بار رو روی سرور دارن. 🔥
- Performance Schema تو رو تو پیدا کردن قفلهای مسدود کننده (Blocking Locks) نجات میده. میتونی ببینی که کدوم تراکنش داره تراکنشهای دیگه رو معطل میکنه. 🔑
- تو میتونی با استفاده از دستور SELECT * FROM performance_schema.threads ببینی که هر Thread (رشته اجرای) MySQL در حال انجام چهکاریه و تو چه وضعیتی قرار داره. ⚙️
- برای مشاهده اطلاعات، مثل Information Schema، باید با کوئریهای SELECT از جداول مختلف Performance Schema دادهها رو استخراج کنی. 🔍
- جداول Performance Schema به صورت پیشفرض فعال هستن، اما برای دیدن جزئیات بیشتر (مثل لاگگیری فایلها یا I/O) باید اونها رو تو فایل my.cnf فعال و پیکربندی کنی. ✅
- اگر میخوای بفهمی که یه کوئری چقدر زمان صرف کرده تا به دیسک دسترسی پیدا کنه (I/O)، جداول مربوط به I/O تو Performance Schema بهترین منبع اطلاعات هستن. 💾
منبع آموزشی این مطلب
این مطلب برگرفته از محصول آموزشی «راهنمای جامع MySQL: از مبانی تا تسلط پیشرفته» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول