私はWebサイトを開発しており、人々がデータ(投票)を挿入できるデータベースを持っています。私はヘッダーに "x"票が投げられたようなカウンターを保持したい。しかし、すぐに多くのトラフィックがウェブサイトに存在する可能性があります。今私は、クエリ30秒ごとにSQLクエリ(カウント)を実行し、出力をファイルに保存します。
SELECT COUNT(*) FROM `tblvotes
やヘッダの表示数が、その後、毎回ユーザの変更ページでそれを行うことができ、それは、クエリを再実行しますので、私は思っています、多分それはクエリに優れています30秒に1回(これはmysqlサーバの負荷が非常に少ない)ですが、その出力をいくつかの場所に保存する必要があります(これはとても難しいことではなく、テキストファイルに書き込むことができます)。私のウェブサイトは自動的に30秒ごとにクエリを実行し、その番号をファイルに入れます。私はサーバーにSSHを持っていないので、私はそれをcrontabすることができますか?
ご不明な点がございましたらお気軽にお問い合わせください!
しかし、ページを切り替えるたびにユーザーがSQLクエリーを実行する必要がありますか?(クエリーはもうカウントされませんが、「select count from tbltriggercount」など) – Maximc
@ Maximc - はい、あなたは依然としてそのクエリを実行する必要があります。さらに、ここでは大きな問題があります。つまり、集計テーブルが不正確な結果を報告するか、単にテーブル自体を更新するとパフォーマンスのボトルネックになります(これらの動作はトランザクション関連の問題に起因します)。あなたが本当に欲しいのは、とにかく何らかのメモリ内の解決策であり、集計表(単純な 'COUNT()'は簡単なものではありません)です。 –
はい、実際には毎回クエリを実行する必要があります。しかし、count()やsum()などの関数を使用することなく、はるかに簡単です。例えば。 'SELECT value FROM aggTable where param = 'counter''しかし、それは依然として依然としてクエリです。 – stUrb