我应该在多大程度上最小化数据库查询?

Ste*_*ski 5 php mysql

这是我将从当前项目的产品页面的MySQL数据库中提取的数据的描述.

产品数据来自一个product表,变量名称(颜色,大小等)来自一个名为的表product_option_group,这些变量的实际值(红色,绿色,蓝色或小,中,大等)都在一个product_option表中,和该产品相关的产品照片在product_photo.

我可以使用JOIN-s创建一个单一的查询,在单个查询中返回所有这些(产品,变量,值,照片),然后我需要foreach这些查询才能使用.我的问题是这是否有意义.我应该在多大程度上尽量减少查询?

在产品列表的情况下,我使用单个查询来获取少量产品数据和第一张产品照片的URL.但是在显示单个产品的页面上,我对最佳方法有点不确定.看起来像我正在写一个疯狂的长MySQL查询,然后进行大量的PHP解析.另一种方法是我正在进行一大堆数据库调用.

哪个最好?

ame*_*ren 6

我一直被教导(并与之合作)假设您应该只在需要时进行优化,而不是尝试优化不会导致问题的事情.

所以,在你的情况下,拿走你所拥有的并通过磨机运行 - 加载它并看看它是如何处理它的.如果它很慢,那么考虑一下你是想尝试组合成一个查询,还是添加一个或两个索引,或者你可以做些什么来加快它.问问自己,这是缓慢返回的数据库,还是两者之间来回流量是问题,或者PHP是否处理得不够快.

把时间花在需要的地方,记住保持简单.