mysql - 检查 mysql 中不同类型用户的单个用户表与两个用户表的性能

标签 mysql performance optimization normalization execution

我有一种情况,我需要为两种类型的用户设计数据库,比如说 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/

相关文章:

c# - c# 编译器是否优化 Count 属性?

MYSQL 查找以前从未记录过的字段值

php - 使用用户名或电子邮件登录

php - Prestashop 1.7 手动升级 SqlTranslationLoader.php 错误

php - 服务器负载 : mySQL vs PHP Functions

python - Python 中更快的计算时间

php - 我需要使用 cron 作业每 30 分钟恢复一次数据库 (mysql)

mysql 搜索顶部匹配应该排在第一位

c - 不同的执行顺序导致Pthread程序性能的差异

php - 使用 memcache(d) 是否过早优化?