@maksim666111

Огромная таблица wp_postmeta как очистить?

Подскажите пожалуйста! Сайт вордпресс 2015 года новостной, постов 80000 с небольшим, бд 3 гб. таблица wp_posts 260 000 записей, таблица wp_postmeta ~1,460,931 как найти и удалить лишнее? Ревизий постов нет!
  • Вопрос задан
  • 5018 просмотров
Решения вопроса 1
@Stopy
Во-первых, сделай бекап.
Думаю, есть готовые модули для чистки wp db, если нет, напиши скрипт который сделает запрос к posts и postmeta, пройдется по постамета, и удалит те, которые в post_id имеют несуществующие посты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
Бекап незабудь сделать!

-- Cleaning wp_commentmeta
SELECT *
  FROM wp_commentmeta
 WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

DELETE FROM wp_commentmeta
 WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

SELECT *
  FROM wp_commentmeta
 WHERE meta_key LIKE '%akismet%';

DELETE FROM wp_commentmeta
 WHERE meta_key LIKE '%akismet%';

-- Cleaning wp_postmeta table
SELECT *
  FROM wp_postmeta pm 
       LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
 WHERE wp.ID IS NULL;

DELETE pm
  FROM wp_postmeta pm 
       LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
 WHERE wp.ID IS NULL;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы