چرا دیتابیس حجیم میشود؟
دیتابیسها با گذشت زمان، به دلیل ذخیرهسازی اطلاعات موقت و غیرضروری، حجیم میشوند. این اطلاعات شامل موارد زیر است:
-
پست ریویژنها (Post Revisions): نسخههای ذخیره شدهی خودکار از مقالات شما.
-
نظرات اسپم: کامنتهای اسپم و زبالهدانی وردپرس.
-
دادههای انتقالی (Transient Data): اطلاعات موقت ایجاد شده توسط افزونهها.
دیتابیس حجیم باعث کند شدن فرآیند جستجو و افزایش مصرف CPU سرور میشود. ابزار phpMyAdmin در cPanel، کلید مدیریت و پاکسازی این دادهها است.
بخش اول: عیبیابی و بررسی وضعیت دیتابیس
۱. ورود به phpMyAdmin
-
وارد پنل کاربری و سپس cPanel شوید.
-
در بخش Databases، روی ابزار phpMyAdmin کلیک کنید.
-
در پنل سمت چپ، دیتابیس سایت مورد نظر خود را انتخاب کنید.
۲. بهینهسازی خودکار جداول
-
در صفحه اصلی دیتابیس، لیست جداول شما به همراه حجم و وضعیت آنها (ستون Overhead) نمایش داده میشود.
-
اگر ستون Overhead برای جدولی دارای مقداری بزرگتر از صفر باشد، به این معنی است که آن جدول نیاز به بهینهسازی دارد.
-
همه جداول را با تیک زدن در پایین صفحه انتخاب کنید.
-
از منوی کشویی پایین (با عنوان With selected)، گزینه Optimize table (بهینهسازی جدول) را انتخاب کنید.
-
این عمل فضای هدر رفته (Overhead) را بازیابی کرده و جدول را بهینهسازی میکند.
بخش دوم: پاکسازی دادههای غیرضروری با دستور SQL
برای حذف اطلاعات اضافی وردپرس (که بیشترین حجم را اشغال میکنند)، از دستورات SQL استفاده میکنیم.
هشدار: حتماً قبل از اجرای دستورات SQL روی دیتابیس اصلی، یک بکآپ کامل از دیتابیس تهیه کنید.
۱. پاکسازی پست ریویژنها (نسخههای ذخیره شده)
پست ریویژنها (Post Revisions) حجم زیادی را اشغال میکنند. برای حذف آنها:
-
روی تب SQL در بالای صفحه phpMyAdmin کلیک کنید.
-
دستور زیر را وارد کرده و Go را بزنید:
SQLDELETE FROM wp_posts WHERE post_type = 'revision';(اگر پیشوند جداول شما
wp_نیست، آن را با پیشوند صحیح جایگزین کنید، مثلاًwp_123_posts)
۲. پاکسازی کامنتهای اسپم و زبالهدانی
برای حذف کامل نظراتی که در حالت اسپم یا زبالهدانی قرار دارند:
-
مجدداً به تب SQL بروید.
-
دستور زیر را وارد کنید:
SQLDELETE FROM wp_comments WHERE comment_approved = 'spam'; DELETE FROM wp_comments WHERE comment_approved = 'trash';
۳. حذف Transient Data (دادههای موقت افزونهها)
بسیاری از افزونهها اطلاعات موقتی را در جدول wp_options ذخیره میکنند که پس از مدتی دیگر کاربردی ندارند.
-
در تب SQL دستور زیر را اجرا کنید:
SQLDELETE FROM wp_options WHERE option_name LIKE ('_transient_%');
بخش سوم: اقدامات پیشگیرانه (در سطح وردپرس)
برای جلوگیری از حجیم شدن مجدد دیتابیس، میتوانید تنظیمات وردپرس و افزونهها را تغییر دهید.
۱. محدود کردن ریویژنها
برای محدود کردن تعداد ریویژنهای ذخیره شده در هر مقاله، فایل wp-config.php (در File Manager) را باز کنید و کد زیر را به آن اضافه کنید (عدد ۳ به معنای ذخیره حداکثر ۳ نسخه است):
define( 'WP_POST_REVISIONS', 3 );
۲. استفاده از افزونههای پاکسازی
افزونههایی مانند WP-Optimize یا WP Rocket دارای ابزارهایی برای انجام خودکار پاکسازی دیتابیس (مانند حذف ریویژنها و اسپمها) هستند که استفاده از آنها برای کاربران مبتدی توصیه میشود.
