آموزش تخصصی MySQL: معرفی Performance Schema - نکته خودمونی

معرفی Performance Schema

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

این مطلب برگرفته از محصول آموزشی «راهنمای جامع MySQL: از مبانی تا تسلط پیشرفته» است

برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.

اطلاعات بیشتر و دریافت محصول
مقداد علی بخشی

مقداد علی بخشی

مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند. دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)

مطالب مرتبط