mysql - 如何设计这个mysql数据库

标签 mysql database database-design

有200万用户 每个用户有 4 个表。 4个表中的数据不会被追加,将保持固定。

每个用户表的结构都是一样的。

要将这些用户的数据存储在mysql中,我必须设计一个数据库。

我需要创建 200 万个数据库,每个数据库有 4 个表吗?

感谢任何帮助

这4张表是

  1. 用户1个月来电记录
  2. 包括用户1个月的短信记录
  3. 用户1个月的外拨电话记录
  4. 用户1个月的外发短信记录

调用表将具有以下结构

日期时间数字持续时间费用

传入的短信将具有以下结构

日期时间编号

外发短信将具有以下结构

日期时间费用

最佳答案

这是一种 SQL 反模式,我称之为 Metadata Tribbles。它们看起来可爱友好,但很快就会失控。

一旦您听到以“我每个...都有一个相同的表”或“我每个...都有一个相同的列”开头的短语,那么您可能遇到了元数据问题。

您应该首先创建一个包含四个表的数据库,然后为四个表中的每一个添加一个 user_id 属性。

在某些异常(exception)情况下,您希望为每个用户拆分成单独的数据库,但它们是异常(exception)。除非您知道自己在做什么并且可以证明这是必要的,否则不要去那里。

关于mysql - 如何设计这个mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1753874/

相关文章:

php - 在外部PHP文件中使用PDO连接mysql数据库

mysql - 事务是否停止了 MySQL 中的所有竞争条件问题?

java - 在 hibernate 中加载百万行

database - DB 中位掩码的替代设计

SQL Server - 前缀和零填充 ID 列

sql - 形成详细信息和小计的 SQL 查询 (MySQL)

php - Laravel 5 php artisan migrate --数据库参数不起作用

java - 如何防止在 Android 应用程序中创建多个数据库?

database-design - 关联实体和关联关系属性的区别?

mysql - 功能:表作为返回值