0

表格:

线程:id,名称

thread_participants:thread_id,user_id

我想创建一个页面来列出线程名称和参与者。我目前正在做的是对线程进行查询,然后对每个线程进行查询以获取其参与者。我关心的是可能运行的查询数量。例如,如果我列出 20 个线程/页面,那么对于该操作的该页面有 21 个查询。此外,如果我想获取每个用户的信息,那么查询的数量可能会显着增加,除非我执行连接,这样做可能/可能不经济。

您是否认为在单个面向公众的页面上运行 50-100 个查询是一个问题?

对线程运行一个查询,使用 WHERE IN(...) 对参与者运行另一个查询,然后在应用程序中对用户进行排序会更好吗?

4

1 回答 1

0

这将取决于几个因素,例如预计访问该页面的访问者数量,以及实际的 SQL 查询本身。您可能需要考虑运行一些性能指标来查看这些查询需要多长时间,是否有缓存机会,以及当您对其施加更多压力时站点如何变化(即压力测试)。

于 2013-09-29T01:21:51.440 回答