ホームページ >バックエンド開発 >PHPチュートリアル >フォーラムセクションの投稿数

フォーラムセクションの投稿数

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:27:411365ブラウズ

フォーラムの各セクションはデータベース内のレコードに対応しており、フィールド (投稿) の 1 つはこのセクションの投稿数をカウントするために使用されます。この投稿フィールドはどのように維持されるべきですか?

1 ユーザーが投稿を投稿または削除するときにこのフィールドを更新する場合、つまり、posts=posts+1 を投稿し、posts=posts-1 で投稿を削除する場合、同時投稿中にデータが正しいことを確認するにはどうすればよいですか?
2 上記の方法が使用されない場合、どうすればより適切に対処できますか?


ディスカッション (解決策) への返信

一般に、モデレータと管理者はフォーラムの投稿を削除する権限を持っている必要があります。 。

同じテーブル内の同じレコードについては、一度に 1 つの命令だけが実行されます。
したがって、いわゆる同時実行性の問題はありません

同じテーブル内の同じレコードについては、一度に 1 つの命令だけが実行されます。
いわゆる同時実行性の問題はありません



安全な処理を行う必要はありませんか?

セキュリティ上の問題はありませんが、どう対処すればよいでしょうか?

セキュリティ上の問題はありませんが、どう対処すればよいでしょうか?



たとえば、テーブルなどのロック

さらに、同時に多数の投稿/削除があった場合、MySQL データベース サーバーは負荷に耐えることができますか?

データベースがそれほど精神薄弱だとは思わないでください
認めなければなりません: データベース開発者はあなたよりもはるかに有能です

データベースに過剰な負荷がかかっているのではないかと心配する場合は、カウンターを維持する代わりにビューを使用する必要がありますグループを自分で作成する

データベースがそれほど精神薄弱だとは思わないでください
認めなければなりません: データベース開発者はあなたよりもはるかに有能です

データベースに過剰な負荷がかかっているのではないかと心配な場合は、ビューを使用する必要がありますカウンターグループを自分で管理する代わりに



ビューを使用する場合は、サブクエリが必要になり、複数のテーブルを接続してクエリを実行する必要があります。 データの量が大量に蓄積すると、データベースにも大きな負荷がかかります。

これら 2 つのオプションについては、どちらが良いかわかりません。 discuzX3.1 を参照したところ、pre_forum_forum のテーブルはカウンター (ポスト) を使用して実装されていることがわかりました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。