私は3つのテーブルを持っています:
-ユーザー
-スーパーユーザー
-SpecialUser
SpecialUser
およびSuperUser
はUser
テーブルの拡張です。User
テーブルに{ name
、email
}があり、 SuperUser
{ idUser
、superPower
}があり、 specialUser
{ idUser
、 }があるとしますhairColor
。
もちろん、aSpecialUser
とaSuperUser
にはユーザーテーブルのname
とがあります。email
これは、ユーザーがまたはである可能性があることを意味しSuperUser
ますSpecialUser
。
私の質問は、ユーザーのすべての情報を取得するクエリを実行する方法です(クエリの前に、ユーザーがspecialUserであるかSuperUserであるかはわかりません)。
私は2つの方法について考えました:
-列「userType」(0:彼はspecialUser、1:彼はsuperUser)をユーザーテーブルに配置します
このメソッドでは、IFを内部に使用してMySQLクエリを実行する必要がありますか?(クエリは何になりますか)。または、単純なクエリ(ユーザーテーブルのみを取得する)を実行する必要があります。次に、PHPでifを実行し、適切なテーブル(スーパーテーブルまたは特殊テーブル)をクエリします。
また
-列を配置せず、ユーザーのIDで2つの結合を使用してMySQLクエリを実行します(技術的には、2つの結合のうちの1つは何も返しません)
どちらを使用する必要がありますか?(私はメモリではなく速度のパフォーマンスに関心があります-テーブルに100万行を超えるとしましょう)