在 SO 上发现了类似的问题,但没有任何帮助。这是我的问题:
我有一张桌子,“事件”,会相当大。还有这两个表:“照片”和“视频”。每个“事件”记录都有一个 eid(事件 id)。每个“照片”和“视频”记录都有一个 aeid(关联事件 ID)。
要获取 20 个事件的事件数据,我目前正在运行 PHP,如下所示:
array = get top 20 events
for these 20 events
array['photos'] = get all photos
array['videos'] = get all videos
return events array
我发现这运行得太慢了。可能是因为这相当于 41 个 mysql 查询。我意识到我需要以某种方式使用 JOIN(我想我至少这样做了),但我无法弄清楚我们如何构建我的查询,以便它以与我在上面的伪代码中相同的方式嵌套照片和视频. 另外,我认为我没有时间切换到 postgres(除非非常强烈建议);我正在使用足够大的代码库,这让只有一个开发人员(我)感到头疼。
如果您发布它们,我愿意阅读文件/手册。但是,我已经在几个地方这样做了,但无济于事。谢谢!