对于中的现有行
member
,假设
to
和
from
列
inbox
和
sent
表包含
id
来自的值
成员
表,然后我们可以从中获取相关行的计数
收件箱
和
发送
,并将计数存储到
成员
表,包含如下内容:
UPDATE `member` m
SET m.inbox = ( SELECT COUNT(1) FROM `inbox` i ON i.to = m.id )
, m.sent = ( SELECT COUNT(1) FROM `sent` s ON s.from = m.id )
这个例子提出了各种无根据的假设…什么是“数据量”,收件箱和发送到成员表的表之间的关系,…
如果没有示例数据和预期的最终结果,我们只是在猜测规范,而我们提出的任何SQL都只是猜测。
当没有合适的索引时,在大型集合上相关子查询的性能可能会有问题。还有其他的查询模式将获得同等的结果。