我有 3 张桌子:
-用户
-超级用户
-特殊用户
SpecialUser
并且SuperUser
是User
表的扩展。假设User
表有 { name
, email
},SuperUser
有 { idUser
, superPower
} 并且specialUser
有 { idUser
, hairColor
}。
当然 aSpecialUser
和 aSuperUser
有一个name
andemail
来自用户表。这意味着 User 可以是 aSuperUser
或 a SpecialUser
。
我的问题是如何执行获取用户所有信息的查询(在查询之前我不知道他是特殊用户还是超级用户)。
我想到了两种方法:
-在用户表中放置一列“userType”(0:他是特殊用户,1:他是超级用户)
使用这种方法,我应该在内部使用 IF 进行 MySQL 查询吗?(查询会是什么)。或者我应该做简单的查询(单独获取用户表)然后在 PHP 中我做一个 if 并查询正确的表(超级或特殊表)
或者
- 不放置任何列并在用户的 id 上使用 2 个连接执行 MySQL 查询(从技术上讲,2 个连接之一不会返回任何内容)
应该使用哪一个?(我关心的是速度性能,而不是内存——假设这些表有超过 100 万行)