Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有不同的帖子类型,例如状态更新、项目、捐赠等。每种类型的帖子在数据库中都有一个或多个表。用户可以创建所有帖子类型。用户有一面像 Facebook 这样的墙,他可以在其中看到他按时间顺序创建的不同帖子类型(最后创建的任何帖子类型都应该在墙的顶部)。
什么是最合适的方法?
设置简单,性能不是很好(有一个非常糟糕的最坏情况)。
是最简单的。你说复杂,但你可以通过构造相当容易地做到这一点UNION + ORDER BY。性能会很不错。
UNION + ORDER BY
我认为会表现最好,但会有一些重复,事情可能会变得有点复杂。关系数据库不太擅长多态性。
重要的是要意识到在这些解决方案之间切换相对容易。如果你有一个面向服务的架构(或者一般来说只是好的设计)。所以我不会太担心你选择哪种方法。如果将来您选择的方法似乎效果不佳,您可以切换到另一种方法。