私はスケーラビリティを念頭に置いて私のプロジェクトを開発しています。私はクロスロードに来ました。私のウェブサイトでは、ユーザーがオンラインであるかどうかを検出したいと考えています。そして、私はこれを処理する最善の方法を考えることはできません。 Iユーザーがログインがtrue
に彼のonline
列を更新することができたときにPHP:ユーザがオンラインである場合の最も効率的な追跡方法
// SQL user table:
user {
"name": "blah blah",
"email": "[email protected]",
"online": false
}
ので:私は考えていた方法は、これらの線(擬似コードで)に沿ったものになるだろう。しかし、それは最終的にユーザーがログインするたびに起こるSQLクエリーにつながります。もし起これば、毎秒10回のログインと言えます。それはたくさんのクエリーです。
// Activity table:
activity {
"user_id": 2,
"online": true
}
私はそれが理由user
テーブルからの分離の少ないメモリ消費につながると考えているいくつかの理由:私は同じことを行うが、別のテーブルに可能性が考え出しもう一つの方法。しかし、実際にパフォーマンスに影響を与えるかどうかはわかりません。
私の洞察力で私を祝福できたら、私はもっと感謝しています。ありがとう。
これは時期尚早の最適化のようです。私は今のところそれについて心配しないだろう。あなたのサイトが遅くなってきたら、これ以上のボトルネックを明らかにすることができます。 – Okonomiyaki3000
新しいページが読み込まれるたびに、多くのSQLクエリを実行するのが一般的です。 1つの追加のクエリは目立たないでしょう。 – xbonez