我在表格设计方面没有太多经验。我的目标是创建一个或多个满足以下要求的产品表:
支持多种类型的产品(电视,手机,电脑,...)。每种类型的产品都有不同的参数集,例如:
手机将有颜色、尺寸、重量、操作系统等。
电脑将有CPU、硬盘、内存等。
参数集必须是动态的。您可以添加或编辑任何参数。
如何在不为每种产品类型创建单独的表格的情况下满足这些要求?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
@StoneHeart
我会一直使用EAV和MVC。
@Bill Karvin
你在这里提到的所有事情:
在我看来,这些都不应该出现在数据库中,因为没有任何数据库能够以适当的水平处理这些交互和要求,而应用程序的编程语言可以。
在我看来,以这种方式使用数据库就像用石头敲钉子。你可以用石头做到,但你不应该使用更精确、专门为这种活动设计的锤子吗?
可以通过对部分数据进行少量查询并将其处理成表格布局来解决这个问题。即使你有600GB的产品数据,如果你需要从这个表中获取每一行的数据,你也可以分批处理。
进一步说,如果你想提高查询的性能,你可以选择某些操作,比如报告或全局文本搜索,并准备索引表,存储所需的数据,并定期重新生成,比如每30分钟。
你甚至不需要担心额外数据存储的成本,因为它每天都在变得越来越便宜。
如果你仍然担心应用程序执行的操作的性能,你始终可以使用Erlang、C++、Go语言预处理数据,然后在主应用程序中进一步处理优化后的数据。