好吧,我一直在试图弄清楚这一点,但一直未能得出结论。我很想从你们那里得到一些结果,提示做更多的测试,或者更多的资源来阅读。针对1对*关系的MySQL优化
情况很简单。有一个主要的图片表。可能是cat_pictures
。有一个cat_pictures_comments
的辅助表。一些智能开发人员确保cat_pictures
具有自动递增主键ID_PICTURE
,并且注释也以ID_PICTURE
的索引存储。
我们的应用程序有一个页面,想要显示所有的图片与所有的图片评论。
难道我们
只是
INNER JOIN
cat_pictures
与cat_pictures_comments
(并确保一切都正确排序)获取所有
cat_pictures
,然后遍历每个并获得cat_pictures_comments
每个画面
答:如果应用程序是PHP呢? B:如果cat_pictures
有猫的基因组的条目ID,图片文件路径和其他20,285个字段,该怎么办? cat_pictures
也是INNER JOIN
'与每个猫的所有者的精神病医生(一对一关系)编辑。 (基本上,与我们的小小便袋评论表相比,主表有更多的数据附加到主表。)
谢谢大家。
这个问题还不清楚。答案是加入。考虑提供1-1数据的附件表,但前提是可以证明其具有显着的性能优势。如果有疑问,请进行测试。 – Strawberry
对不起。这就是我所说的,我不确定如何衡量使用PHP来获取每张图片评论或使用查询获得它的好处。我得到的印象是PHP *可能会更好,因为存储和返回重复的'cat_pictures'数据的内存远远大于附加到图片的每个注释的小尺寸。 – Liandri
虽然可能,但在实践中,这种假设极不可能。一般来说,数据库的“往返”次数越少越好 - “1”最佳。 – Strawberry