我有一种情况,我需要为两种类型的用户设计数据库,比如说 TYPE1 和 TYPE2。 TYPE1用户是普通用户,将达到数百万,而TYPE2用户是某种专业人士,其记录数量将受到限制。
我为他们两个创建了一个通用表,称为users
表。现在的情况是,如果我想按城市搜索一组专业人士,就性能而言,哪种方法最合适?
情况 1:为用户提供一个表(这实际上有助于可扩展性)
案例 2:针对两种类型的用户的两个单独的表
最佳答案
显然,它将为用户
提供一个表。
再添加一列 TYPE(TINYINT(1))
,其值可以是 1(type 1)
或 2(type 2)
,它就像一个标志来区分用户。
标志的数据类型
According to the MySQL manual you can use bool and boolean which are at the moment aliases of tinyint(1)
因此可以根据TYPE
的值进行查询,得到特定类型的Users。
所以TYPE
列可以是
`TYPE` tinyint(1) unsigned NOT NULL DEFAULT '0'
这会给你带来更好的性能。
希望这有帮助。
关于mysql - 检查 mysql 中不同类型用户的单个用户表与两个用户表的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33869136/