php - mysql表行数限制?

标签 php mysql

我是 mysql 的新手,我已经编写了我的第一个 php-mysql 应用程序。

我有 30 个设备列表,我希望用户从中将他们的首选设备添加到他的帐户中。

因此,我创建了 mysql 表“A”,其中一些设备 ID 存储在特定的用户 ID 下,如下所示

UserID  |  Device Id

1       |  33
1       |  21
1       |  52
2       |  12
2       |  45
3       |  22
3       |  08
1       |  5 
more.....

比如说,我有 5000 个用户 ID 和 30 个设备 ID。

& 如果每个用户在他的帐户记录下有 15 个设备 ID(平均)。

那么A表下就有5000 X 15 = 75000条记录

那么,我的问题是,我们可以在 mysql 表中存储多少条记录?

我上面提到的存储记录的方法是否正确?添加更多用户是否会影响查询性能?

或者有更好的方法吗?

最佳答案

您不太可能会遇到具有两列仅为整数的 MySQL 表的限制。

如果您真的很关心查询性能,您可以直接在两列上添加索引。即使在设备 ID 上有索引,插入/更新表的成本也可能可以忽略不计。如果您的数据库变得庞大,它可以加快诸如“哪些用户更喜欢此设备”之类的查询。您询问“此用户喜欢什么设备”的查询也将很快使用用户索引。

我只想说,让这个表成为一个简单的两列表,它有一个由两部分组成的复合键(索引)。这样,它将尽可能地原子化,并且不需要某些人可能建议“提高性能”的任何愚蠢行为。

保持原子性和正常性——您的性能将良好并且不会超出您的 DBMS 的任何限制

关于php - mysql表行数限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14907837/

相关文章:

php - 将 $_GET 方法保存到数据库中并更改它

php - PHP 开发者应该使用 MySQL 的存储过程吗?

php - 尝试将数据加载到 ChoiceType 表单中,但没有保存

php - 如何在 SQL 中获取超过限制 5 的多个相同输出的 TOP 5 值

php mysqli "No database selected"使用类

php - 我将如何返回数组中与任何 $_POST 结果不匹配的任何项目

php - 如何根据 PHP 中的 session 数据将用户重定向到不同的目录?

php - Symfony 和 Doctrine 选择查询无法正常工作

mysql - 将日期插入 MySQL

mysql - 如何在mysql工作台中创建存储过程?