Dünden buyada şişmiş olan SQL tablolarını temizlemeye çalışıyorum epey bi elle uğraştım. SQL tablolarını inceleyip kafama yatmayan verileri ARA yaparak kimisininde deneme yanılma yolu ile sildim.
50 MiB WP_PostMeta tablosunu 22.1 MiB indirdim. Satır sayısı hala 77,587 'de.
phpMyAdmin üzerinden,
SİLDİĞİM BAZI KEYLER (dünden buyana siliyorum aklıma gelenler bunlar.)
phpMyAdmin wordpress tablolarına giriş yaptım.
localhost >> ..._tabloadi>> wp_postmeta seç
ARA
meta_key karşısına (silinecek key verilerini) yaz LIKE seçili
Seçeneklerden Sayfa başına satır sayısı ben 1000 yaptım
GİT
Çıkan sonuşlardan, hepsini seç
SİL
Sildiğim ve henüz bir problem yaşamadığım meta_key satırları.
aa
hh
jj
mm
mn
cur_aa
cur_hh
cur_jj
cur_mm
cur_mn
closedpostboxesnonce
excerpt (meta_key dosyasında olması ilginç, önce denedim sonra hepsini sildim. Şimdilik sorun yok.)
samplepermalinknonce
edit_date (herhalde yazı düzenleme tarihi diye düşünerek 110 kayıt sildim.)
_status
save_menu
------------------
Çalışmalarımı aşağıdaki kodlarla devam ettireceğim tekrar lazım olur diye not ediyorum.
SQL Tablosunda kullanılmayan etiketleri (post tags ) temizleme.
Etiket kaydedilmiş ama bağlı yazısı yok, nasıl olduysa oluyor işte.
SQL kod bölümüne aşağıdaki kodları yapıştırdım GİT butonuna bastım
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE COUNT = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id NOT IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
SQL kod bölümüne aşağıdaki kodları yapıştırdım GİT butonuna bastım ve optimize ettim.
OPTIMIZE TABLE `wp_terms` , `wp_term_taxonomy` , `wp_term_relationships`;
-----------------------------
wp_postmeta tablosundaki verileri gruplayarak sayalım
SELECT meta_key, COUNT(meta_key) FROM wp_postmeta GROUP BY meta_key;
SQL (SQL sorgusu çalıştır) kod bölümüne
SELECT meta_key, COUNT( meta_key )
FROM wp_postmeta
GROUP BY meta_key
LIMIT 0 , 500
güzel bir kod şimdi meta_key kolonunda ki verileri ve kullanma sayısın görebiliyorum. Gerisi yorumlamaya kaldı.
şimdi aşağıdaki kodu deniyorum.
DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
SONUÇ
DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';# 1586 satır etkilendi.
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';# 1546 satır etkilendi.
Bu kadar çok satır etkilenmesi beni korkuttu, bakalım sitemiz ne durumda.
Bir sorun yok görünüyor. Hemen bir dışa aktarla bir yedek daha alıp araştırmaya devam ediyoruz.
----------------
wp_options tablosundan feed cache dosyalarını silmekte sakınca görmedim ve aşağıdaki kodla 19 satır silindi.
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%')
------------------
İşi bu kodla başlamıştım. SQL temizleme deyince Türkçe bloglarda tüm detayları ile yer alıyor, bizde not edelim.
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Hiç yorum yok:
Yorum Gönder