Мій провайдер FTP (fasthosts) дозволяє використовувати лише 150 Мб на створену базу даних. Цього достатньо для більшості особистих потреб. Однак днями після того, як я увійшов до панелі керування, я помітив, що база даних, яку я використовую для створення свого блогу (цей сайт), уже зайняла до 23% відсотків використання. Хоча в мене не так багато дописів.
Це, безумовно, потенційна проблема. Я не хочу платити за оновлення місця, коли воно досягне 150 Мб так скоро. Нижче наведено швидкий спосіб зменшити використання бази даних сайтом wordpress. У моєму випадку його було зменшено до 3% після наступних кроків.
1 Видалити версії
Для більшості сайтів wordpress функція «revisions» для публікацій абсолютно марна. Редакція — це «миттєвий знімок» допису, який можна відновити в будь-який час, коли ви зробили помилку. Перегляд, безумовно, зростає, якщо у вас багато дописів, і вони просто займають місце.
Обов’язково спершу створіть резервну копію бази даних і виконайте наступний SQL (наприклад, за допомогою PHPAdmin).
DELETE FROM wp_posts WHERE post_type = "revision";
2 Вимкніть версії
Щоб уникнути клопоту в майбутньому, якщо ви ніколи не користуєтеся функцією «після перегляду», ви можете просто вимкнути її, додавши наступний рядок у wp_config.php у папці інсталяції WordPress після наступного рядка.
define('DB_COLLATE', '');
// add this.
define('WP_POST_REVISIONS', false);
3 Видаліть спам-коментарі (а також незатверджені)
У моєму випадку таблиця wp_comments займає більше місця, ніж таблиця wp_posts. Це просто тому, що багато спам-павуків публікуватимуть коментарі на вашому сайті, а в моєму випадку вони будуть зафіксовані як спам-коментарі, не повідомляючи вас. День за днем ваша база даних зростатиме.
Використовуйте наступну команду SQL, щоб видалити всі коментарі, окрім «схвалених». Обов’язково спершу перегляньте всі «несхвалені» коментарі.
Відкоригуйте оператор where, якщо ви хочете видалити лише спам-коментарі.
Ви можете помістити вищевказані рішення в crontab, який виконується регулярно, наприклад, щодня. І вам пропонується виконати таблицю оптимізації після очищення відповідної таблиці.