آموزش کامل بهینه سازی کوئری های MySQL در وردپرس چاپ

  • 0

درک صحیح از عملکرد کوئری های MySQL برای مدیریت مؤثر پایگاه داده وردپرس ضروری است. این کوئری ها در واقع دستورات SQL هستند که مشخص می کنند پایگاه داده چه اطلاعاتی را بازیابی، درج یا حذف کند. یکی از ابزارهای مفید برای بررسی این کوئری ها، افزونه Query Monitor است که اطلاعاتی دقیق از عملکرد کوئری ها، منابع مصرفی و زمان اجرای آن ها در اختیار شما می گذارد.

آشنایی با اطلاعات کلیدی در نوار ابزار افزونه

پس از نصب افزونه، در نوار ابزار وردپرس اطلاعات مهمی نمایش داده می شود:

  • Total Time: زمان کلی بارگذاری صفحه (شامل PHP، MySQL و APIها)
  • RAM Usage: میزان حافظه مصرفی
  • Total MySQL Time: مجموع زمانی که صرف اجرای کوئری های پایگاه داده شده است
  • Total Queries: تعداد کل کوئری هایی که در این صفحه اجرا شده اند

بررسی کوئری ها بر اساس تعداد ردیف

برای یافتن کوئری های سنگین، وارد تب Queries شوید و ستون Rows را بر اساس تعداد سطر مرتب سازی کنید. این روش به شما کمک می کند متوجه شوید کدام افزونه یا بخش قالب، اطلاعات زیادی را بارگذاری می کند.

نکته: کوئری هایی با تعداد ردیف زیاد می توانند مصرف منابع را افزایش دهند.

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

مثال عملی: بهینه سازی جدول wp_options

جدول wp_options محل ذخیره تنظیمات اصلی وردپرس، قالب و افزونه هاست. آیتم هایی با مقدار autoload = yes در هر بار بارگذاری سایت لود می شوند.

شناسایی گزینه های Autoload با حجم بالا

با دستور زیر می توانید آیتم هایی با حجم زیاد را شناسایی کنید:

SELECT option_name, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;


پاکسازی ایمن داده ها

ابتدا از دیتابیس نسخه پشتیبان تهیه کنید. سپس داده های متعلق به افزونه های غیرفعال یا بلااستفاده را با دستور زیر حذف نمایید:

DELETE FROM wp_options WHERE option_name = 'your_option_name';

 اگر از عملکرد یک کوئری اطمینان ندارید، از حذف آن خودداری کرده و با یک متخصص مشورت کنید.

بهینه سازی متغیرهای محصولات در ووکامرس

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

راهکارهای پیشنهادی:

  • کاهش تعداد محصولات قابل نمایش در هر صفحه
  • استفاده از اسکرول بی نهایت
  • استفاده از افزونه کش مانند WP Rocket
  • تبدیل برخی متغیرها به گزینه های محصول (در صورت عدم نیاز به تغییر تصویر یا قیمت)

مثال: اگر محصولی 30 رنگ و 8 سایز دارد، مجموع متغیرها 240 خواهد شد. اگر سایز را به گزینه تبدیل کنید، فقط 30 متغیر باقی می ماند.

کشف منابع پرمصرف با Query Monitor

در تب Queries، روی آیکن + کلیک کنید تا Call Stack مربوط به هر کوئری را ببینید. این قابلیت به شما نشان می دهد که کوئری از کجا و توسط چه تابعی ایجاد شده است.

اگر کوئری های زیادی به پلاگین خاصی مثل et-core-plugin مربوط باشد، منبع فشار بر سرور شناسایی می شود و می توانید راه حل مناسب را پیدا کنید (غیرفعال سازی، بهینه سازی یا جایگزینی).

بررسی کوئری های کند (Slow Queries)

در بخش Overview > Database Queries > Slow Queries می توانید کوئری هایی با زمان اجرای طولانی را بیابید.

دلیل رایج این مشکل، نبود ایندکس مناسب روی ستون های جستجو شده است. برخی قالب ها در ستون GUID جستجو انجام می دهند که ایندکس ندارد.

راه حل:

استفاده از افزونه های بهینه سازی کوئری

افزودن ایندکس مناسب روی ستون ها (در صورت داشتن دانش فنی)

در نهایت

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


آیا این پاسخ مفید بود؟

« بازگشت