web-dev-qa-db-fra.com

Une grande table postmeta ralentira-t-elle un site?

J'ai créé un compteur de hits qui stocke tous les hits du temps et les hits quotidiens. Cela signifie que si un seul message obtient au moins une vue par jour, 365 champs méta seront ajoutés d'ici la fin de l'année. Multipliez cela par N postes et le nombre peut considérablement augmenter. Sera-ce jamais un problème? Je sais que Wordpress caches des trucs et c'est pourquoi je suis inquiet à ce sujet. Tous ces éléments seront-ils chargés à chaque fois que l'article est chargé?.

Cela expliquera mieux ce que j'ai implémenté.

$dailyhits = get_post_meta( $post->ID, 'hits_'.date('Y-m-d'), true );
if($dailyhits == null || $dailyhits == "" || $dailyhits == false) $dailyhits = 1;
else $dailyhits = $dailyhits + 1;   
update_post_meta($post->ID, 'hits_'.date('Y-m-d'), $dailyhits);
4
Dan Hastings

"Vous ne devez pas écrire dans la base de données sur les demandes frontales" est le onzième commandement. Votre performance se détériorera à cause des écritures qui verrouillent la table bien plus que l'impact de la taille de la table.

Vous devriez probablement écrire de telles données dans des fichiers au lieu de DB, ou au moins utiliser une table différente.

2
Mark Kaplun