web-dev-qa-db-ja.com

大きなpostmetaテーブルはサイトを遅くするでしょうか?

すべてのタイムヒットと毎日のヒットを格納するヒットカウンタを作成しました。つまり、1つの投稿に1日に少なくとも1つのビューが表示されると、その年末までに365のメタフィールドが追加されます。これにNの投稿を掛けると、数がかなり大きくなる可能性があります。これは問題になりますか?私はWordpressがものをキャッシュすることを知っています、そしてこれが私がそれを心配している理由です。投稿が読み込まれるたびにこれらすべてが読み込まれます。

これは私が実装したものをよりよく説明するでしょう。

$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

「フロントエンドの要求ではDBに書き込まないでください」というのが11番目の戒めです。テーブルのサイズが与える影響よりもはるかに多くの書き込みがテーブルをロックダウンするため、パフォーマンスが低下します。

あなたはおそらくDBの代わりにファイルにそのようなデータを書くべきであるか、あるいは少なくとも異なるテーブルを使うべきです。

2
Mark Kaplun