همانطور که در پست های قبلی گفتیم در صورتی که کدنویسی وب سایت شما به نحوی باشد که مدت زمان ارسال درخواست به پایگاه داده تا دریافت پاسخ طولانی شود باعث کندی سایت میشود. پس بهتر است کدنویسی وب سایت خود را به گونه ای انجام دهید که در تعداد query های زیاد در حجم دیتابیس بالا سایت دچار کندی نشود. اما اگر دچار این مشکل شده اید، راهکار رفع کوئری های کند سمت پایگاه داده چیست؟ در ادامه با ما همراه باشید.
کوئری چیست؟
کوئری ابزاری برای انتخاب اطلاعات به تعیین شرایط برای آن ها از داخل جداول و انجام کارهای مختلف مثل حذف، اضافه و آپدیت یا ادغام اطلاعات جدول است. کوئری ها انواع مختلفی دارین که شامل موارد زیر است.
Select Query – کوئری انتخابی
Update Query – کوئری اپدیت (بروزرسانی)
Append Query – کوئری ادغام
Make Table Query – کوئری ساخت جدول
Delet Query – کوئری حذف
فرض کنید که در صفحه اصلی وب سایت شما اطلاعات مربوط به ۴۰۰ محصول، ۱۵ تا از آخرین پست های بلاگ و همینطور در ساید بار سایت شما ۲۰ تا از محصولات پر فروش و ۲۰ تا از محصولات محبوب را به کاربر نمایش می دهید. این موضوع باعث میشود که به صورت همزمان تعداد ۴۵۵ ریکوئست به سمت دیتابیس جهت نمایش جزئیات محصولات و همینطور اطلاعات پست ها ارسال کنید؛ طبیعتا پردازش این همه اطلاعات سمت دیتابیس زمان بر خواهد بود.
حالا اگر وب سایت شما کدنویسی مناسبی نداشته باشد تصویر کنید که چه فاجعه ای رخ می دهد. در این حالت باید کوئری ها و یا درخواست هایی که سمت پایگاه داده ارسال می شود را بررسی و نسبت به بهبود آن اقدام نمایید.
اگر وب سایت شما تحت سیستم مدیریت محتوای وردپرس کدنویسی شده باشد می توانید از افزونه هایی جهت یافتن کوئری های کند سمت دیتابیس استفاده نمایید. اما در صورتی که وب سایت شما کدنویسی اختصاصی شده باشد این موضوع را باید به دولوپر سایت خود ارجاع دهید.
افزونه و راهکار رفع کوئری های کند در دیتابیس وردپرس
با توجه به توضیحاتی که داده شد باید متوجه شده باشید که برای یافتن کوئری کند در وردپرس باید ابتدا آنها را شناسایی کنید و سپس کدهای آن را بیابید. در ادامه افزونه هایی معرفی می شوند که این دو کار را در سایت وردپرسی برای شما انجام میدهد، پس میتوانید نسبت به رفع مشکلات آن اقدام کنید.
۱٫ افزونه Query Monitor
Query Monitor یکی از افزونه های وردپرس است که مجموعهای از اطلاعات کامل در رابطه با عملکردهای داخلی وردپرس در صفحه ای که در آن قرار دارید ارائه میکند. این افزونه اطلاعات زیر را به شما ارائه میکند.
- تعداد کوئری و درخواست در صفحه فعلی
- اطلاعات طولانی ترین کوئری در صفحه
- توابع وردپرس با بیشترین زمان اجرای کوئری SQL
- دسته بندی کوئریهای نمایش داده شده بر اساس هسته، قالب و افزونه وردپرس
کوئریهایی که دارای بیشترین زمان اجرا در SQL وردپرس باشند توسط این افزونه با رنگ قرمز نمایش داده میشوند که حتما باید به آن ها توجه داشته باشید و بعد از بررسی مشکل آنها را برطرف کنید. پس از نصب افزونه منوی Query Monitor در نوار ابزار پیشخوان وردپرس اضافه میشه که با کلیک روی اون میتونید جزییات هر درخواست از صفحه وردپرس را ببینید.
۲٫ افزونه Debug Bar
افزونه debug bar همانند افزونه قبلیاطلاعات زیادی در خصوص کوئری های کند دیتابیس ارائه میکند.
- مشاهده پارامترهای WP_Query
- درخواست اطلاعات کوئریها
- مشاهده درخواستهای انجام گرفته در SQL صفحه فعلی
این افزونه به گونهای طراحی شده است که با استفاده از چند افزونه جانبی می توانید امکانات آن را افزایش داده و بررسی دقیقتری روی دیتابیس وردپرس و حل مشکل کند بودن در وردپرس داشته باشید. جهت استفاده از امکانات این افزونه باید حالت دیباگ وردپرس را فعال کنید.
پس از نصب همانند پلاگین قبلی می توانید کوئری های کند دیتابیس را تشخصی داده و نسبت به رفع آن اقدام نمایید.
منبع کوئری های کند در وردپرس
در قسمت های قبلی با ۲ افزونه وردپرسی برای پیدا کردن کوئری های تند سمت دیتابیس پرداختیم. اما حال باید بدانید که منبع این کوئری های کند کجاست تا بتوانید مشکل را رفع کنید. منبع کندی کوئری ها ممکن است در هسته وردپرس، قالب وردپرس و یا افزونه ها باشد. همچنین ممکن است منبع کندی کوئری ها، کدهایی باشد که شما برای اجرای دستورهای خاص از آن استفاده کرده اید.
برای یافتن این کدها باید از کلید واژه EXPLAIN در MYSQL استفاده کنید. اضافه کردن EXPLAIN به شروع یک کوئری در دیتابیس وردپرس نشان دهنده آن است که MySQL یک کوئری را اجرا کرده است.
سخن آخر
در این مقاله سعی کردیم راهکارهای لازم جهت رفع مشکلات ناشی از کوئری های کند پایگاه داده را به شما اعلام کنیم. اگر همچنان سایت شما کند است حتما معرفی دلایل کندی وب سایت را بخوانید. همچنین بهتر است از یک متخصص برای پیدا کردن اشکالات و مواردی که موجب کندی سایت شما می شوند، استفاده کنید. چنانچه سوالی در خصوص رفع مشکلات کوئری های دیتابیس داشتید در ادامه این مطلب مطرح نمایید.
مطالب مرتبط:
دیدگاهتان را بنویسید