【发布时间】:2013-01-31 21:43:47
【问题描述】:
在 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(除非非常强烈建议);我正在使用足够大的代码库,以至于只有一个开发人员(我)感到头疼。
如果您发布文档/手册,我愿意阅读它们。但是,我已经在几个地方这样做了,但无济于事。谢谢!
【问题讨论】:
-
我在下面的回答有帮助吗?
标签: php mysql database performance