我有一个场景,我想知道使用php和mysqli连接具有不同结构的两个不同表的最有效方法是什么。我将从首选结果开始,然后向后工作。
理想情况下,我希望有一个像这样的表:
Product_Id,Product_Description,Product_Cost,Main_Image,alt_Img1, alt_img2,alt_img3
我目前拥有的是从Feed中检索的文件中填充的两个单独的表(实际上是5个+文件,但出于此目的,我已简化为仅有问题的表)。所以...
有问题的两张桌子......产品和图片
- 产品表 -
Product_Id,Product_Description,Product_Cost
1,Some Awesome Product,10.00
2,另一个很棒的产品,12.00
3,Bad Product,2.00
- 图像表 -
Product_Id,Image_pos,Image_Name
1,1,Pic1.jpg
1,2,Pic2.jpg
1,3,Pic3.jpg
2,1,Frontimg.jpg
3,1,Badprod.jpg
3,2,Badprod.jpg
依旧......
所以基本上我想将图像连接到产品,但是之后将Image_pos = 1的Main_Image和2,3,4放在相应的alt_img字段中。
假设:我们只导入最多4张图像,因此可以忽略任何其他图像。 没有图像的产品需要一个占位符条目> placholder.jpg' 所有图像名称都是正确的,区分大小写。 两个表都是InnoDB。 运行多个查询很好。 信息将每日更新
其他信息:数据集是相对较大的100k +记录,虽然我对其他表没有任何问题,但图像表没有主键。这极大地减慢了任何查询的速度。如何以最快的速度解决此问题(我是否添加了增量主键?这会有帮助吗?)
我认为我需要一个sql where语句来获取main_image,然后迭代一个数组来构建alt_img1,alt_img2等等但我真的不确定如何继续使用最佳解决方案。
目前我一直在使用php,我希望一旦完成所有内容,就可以通过cron自动完成所有这些操作。关于我应该如何进行的任何建议将不胜感激,专家可以看到我的任何陷阱也会有所帮助。谢谢。如果我遗漏了任何内容或者您需要进一步的信息,我很乐意提供。提前谢谢。