MySQLデータベースには、ユーザーのログインまたはログアウトが検出されたときに設定される列をusers
持つテーブルがあります。logged_in, BOOL
私たちのウェブサイトには「アプリケーションにログインしているユーザー」と表示されますがSELECT COUNT(*) FROM users WHERE logged_in = 1
、パフォーマンス上の理由から単にそうすることには注意が必要です。
usersテーブルには数千行あると予想されますが、いつでもログインできるのはほんの一握り(たとえば、20)のユーザーだけです。
このクエリをMySQLで最適化できるようにする方法はありますか?おそらくKEYまたはVIEWが関係していますか?または、ユーザーと一緒に補助テーブルを作成して、logged_in_users
これも更新する必要がありますか?