php 订阅者 sql 查询太大?

标签 php mysql sql

在我的应用程序中,您可以订阅用户以获取他们的更新等...但是如果您假设订阅 2000 人,查询将太大,我不知道它是否会工作/崩溃或者是正确的方法...

这是对一个用户和他自己的 15 个订阅运行的查询:

SELECT * FROM updates WHERE uid='433154988124' || uid='643474995854' ||
    uid='841341889862' || uid='231955782795' || uid='763438359221' ||
    uid='232345661645' || uid='786313664389' || uid='311617571586' ||
    uid='895988518181' || uid='576877484624' || uid='119448961897' ||
    uid='963671595174' || uid='342987961447' || uid='259688255351' ||
    uid='746656932975' || uid='716846928846' ORDER BY date DESC LIMIT 0, 15

那么是什么告诉我这将适用于 1000 多个和更多的订阅?

是采用这种方法还是采用其他方法更好?

最佳答案

如果有 1000 多个订阅,这将非常缓慢。你想要做的是创建一个链接表 UserSubscriptions 或类似的东西。在该表中,您可以存储您的用户 ID 和它订阅的 ID。在您的查询中,您可以只连接这两个表。

关于php 订阅者 sql 查询太大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377466/

相关文章:

在 try catch block 中执行 SQL 查询时出现 java.lang.NullPointerException 错误

sql - 通过程序插入数据时遇到意外问题

sql - 是否可以在 SQL 中使用 IF/Else?

Python/SQLite3 在 WHERE 子句中转义

php - Google SMTP 连接超时

php - 如何使用 PHP 删除目录中除一个文件以外的所有文件?

php - 创建一个循环结构来显示所提供的较小和较大数字之间的所有整数值?

javascript - vue js 中的对象 HTMLTextAreaElement

php - PDO 连接不显示错误

mysql - 在 where 子句中选择带有 IF 的记录?