Wordpress pulizia database Query Righe orfane | Linuxiano.it
Privacy Policy

WordPress pulizia database Query Righe orfane

WordPress  pulizia database Query Righe orfane

In informatica, il termine base di dati o banca dati (a volte abbreviato con la sigla DB dall’inglese data base), indica un insieme di dati, omogeneo per contenuti e per formato, memorizzati in un elaboratore elettronico e interrogabili via terminale utilizzando le chiavi di accesso previste

Le informazioni contenute in una base di dati sono strutturate e collegate tra loro secondo un particolare modello logico scelto dal progettista (ad es. relazionale, gerarchico, reticolare o a oggetti). Gli utenti si interDELETE FROM wp_posts WHERE post_type = “revision”;facciano con le base dati attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) e grazie a particolari applicazioni software dedicati (DBMS).
DELETE FROM wp_posts WHERE post_type = “revision”;
Poiché WordPress utilizza MyISAM per il suo motore di archiviazione, non otteniamo le relazioni con le chiavi esterne come offerto da InnoDB / etc. – così le righe orfane possono presentarsi nel tempo.

Puliza Database

wp_posts -> wp_posts (genitore / figlio)

SELECT * FROM avwp_posts
LEFT JOIN avwp_posts child ON (avwp_posts.post_parent = child.ID)
WHERE (avwp_posts.post_parent <> 0) AND (child.ID IS NULL)

DELETE avwp_posts FROM avwp_posts
LEFT JOIN avwp_posts child ON (avwp_posts.post_parent = child.ID)
WHERE (avwp_posts.post_parent <> 0) AND (child.ID IS NULL)

wp_postmeta -> wp_posts

SELECT * FROM avwp_postmeta
LEFT JOIN avwp_posts ON (avwp_postmeta.post_id = avwp_posts.ID)
WHERE (avwp_posts.ID IS NULL)

DELETE avwp_postmeta FROM avwp_postmeta
LEFT JOIN avwp_posts ON (avwp_postmeta.post_id = avwp_posts.ID)
WHERE (avwp_posts.ID IS NULL)

wp_term_taxonomy -> wp_terms

SELECT * FROM avwp_term_taxonomy
LEFT JOIN avwp_terms ON (avwp_term_taxonomy.term_id = avwp_terms.term_id)
WHERE (avwp_terms.term_id IS NULL)

DELETE avwp_term_taxonomy FROM avwp_term_taxonomy
LEFT JOIN avwp_terms ON (avwp_term_taxonomy.term_id = avwp_terms.term_id)
WHERE (avwp_terms.term_id IS NULL)

wp_term_relationships -> wp_term_taxonomy

SELECT * FROM avwp_term_relationships
LEFT JOIN avwp_term_taxonomy
ON (avwp_term_relationships.term_taxonomy_id = avwp_term_taxonomy.term_taxonomy_id)
WHERE (avwp_term_taxonomy.term_taxonomy_id IS NULL)

DELETE avwp_term_relationships FROM avwp_term_relationships
LEFT JOIN avwp_term_taxonomy
ON (avwp_term_relationships.term_taxonomy_id = avwp_term_taxonomy.term_taxonomy_id)
WHERE (avwp_term_taxonomy.term_taxonomy_id IS NULL)

wp_usermeta -> wp_users

SELECT * FROM avwp_usermeta
LEFT JOIN avwp_users ON (avwp_usermeta.user_id = avwp_users.ID)
WHERE (avwp_users.ID IS NULL)

DELETE avwp_usermeta FROM avwp_usermeta
LEFT JOIN avwp_users ON (avwp_usermeta.user_id = avwp_users.ID)
WHERE (avwp_users.ID IS NULL)

wp_posts -> wp_users

SELECT * FROM avwp_posts
LEFT JOIN avwp_users ON (avwp_posts.post_author = avwp_users.ID)
WHERE (avwp_users.ID IS NULL)

DELETE avwp_posts FROM avwp_posts
LEFT JOIN avwp_users ON (avwp_posts.post_author = avwp_users.ID)
WHERE (avwp_users.ID IS NULL)

Altri

wp_postmeta dupes

Controlla i tasti _wp_attached_file / _wp_attachment_metadata dupe (dovrebbe sempre essere uno per ogni tipo di post allegato).

SELECT post_id,meta_key,meta_value
FROM avwp_postmeta
WHERE (meta_key IN(‘_wp_attached_file’,’_wp_attachment_metadata’))
GROUP BY post_id,meta_key
HAVING (COUNT(post_id) > 1)

wp_postmeta dupes #2

Dove un identico meta_key esiste per lo stesso posto più di una volta.

SELECT *,COUNT(*) AS keycount
FROM avwp_postmeta
GROUP BY post_id,meta_key
HAVING (COUNT(*) > 1)

DELETE FROM avwp_postmeta
WHERE (meta_id IN (
SELECT * FROM (
SELECT meta_id
FROM avwp_postmeta tmp
GROUP BY post_id,meta_key
HAVING (COUNT(*) > 1)
) AS tmp
))

wp_postmeta missing

Verifica dei _wp_attached_file / _wp_attachment_metadata mancanti su wp_posts.post_type = ‘attachment’ righe wp_posts.post_type = ‘attachment’ .

SELECT * FROM avwp_posts
LEFT JOIN avwp_postmeta ON (
(avwp_posts.ID = avwp_postmeta.post_id) AND
(avwp_postmeta.meta_key = ‘_avwp_attached_file’)
)
WHERE (avwp_posts.post_type = ‘attachment’) AND (avwp_postmeta.meta_id IS NULL)

wp_postmeta ‘_edit_lock’ and ‘_edit_last’ rows

Righe create contro un post quando modificato da un utente di WordPress admin. Possono essere rimossi in sicurezza.

SELECT * FROM avwp_postmeta
WHERE meta_key IN (‘_edit_lock’,’_edit_last’)

DELETE FROM avwp_postmeta
WHERE meta_key IN (‘_edit_lock’,’_edit_last’)

le righe ” transienti ” di wp_options

Un valore transitorio è quello memorizzato da WordPress e / o un plugin generato da una query complessa – fondamentalmente una cache. Ulteriori informazioni possono essere trovate in questa risposta su Stack Overflow .

SELECT * FROM avwp_options
WHERE option_name LIKE ‘%\_transient\_%’

DELETE FROM avwp_options
WHERE option_name LIKE ‘%\_transient\_%’

wp_posts revisioni

Ogni salvataggio di un post di WordPress creerà una nuova revisione (e relative righe wp_postmeta). Per eliminare tutte le revisioni più vecchie di 15 giorni:

SELECT * FROM avwp_posts
WHERE
(post_type = ‘revision’) AND
(post_modified_gmt < DATE_SUB(NOW(),INTERVAL 15 DAY))
ORDER BY post_modified_gmt DESC

DELETE a,b,c FROM avwp_posts a LEFT JOIN avwp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN avwp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’

Articoli simili

Se avete consigli o domande non esitate a scrivermi