mysql データベースを追跡する同じユーザーをすべて使用する一連の複雑な Web サイトがあるとします。(これは私たちの正確な状況ではありません: ただし、この投稿をできるだけ簡潔/効率的にするために状況を単純化しています)
ユーザーがサイトの使用を開始したときに、ユーザーがどこにいるかを常に把握しているわけではありません。実際、国フィールドが更新される可能性があるコードには約 50 のポイントがあります。ご利用のIPアドレスから収集する場合があります。彼がクレジットカードを使用したときにそれを取得する可能性があります. 彼がフォームに記入すると、それを取得する可能性があります。彼と電話で話したときにわかるかもしれません。
次のような単純な構造を想定します。
CREATE TABLE `Users` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`County` VARCHAR(45) NULL ,
PRIMARY KEY (`ID`) );
私が疑問に思っているのは、この人物に関するもう 1 つの情報を追跡する最善の方法は何かということです。
`Number_of_Users_in_My_Country`.
簡単なクエリを実行して、各レコードでそれを取得できることはわかっています。しかし、私は常に他の2つの情報を必要としています:(私は実際に国を扱っているのではなく、100,000Xの数の他のグループを扱っていることに注意してください:繰り返しますが、郡はこの投稿を簡単にするためのものです)
国別のユーザー数と
ユーザー数が x 未満の国の選択。
Number_of_Users_in_My_Country フィールドを更新するために国の値が変更されたときにトリガーを作成する必要があるかどうか疑問に思っています。
私はmySQLを初めて使用するので、これまたは他のアプローチに関する考えを知りたいです。