通过查询或php

时间:2018-01-20 10:44:09

标签: php mysql symfony doctrine-orm doctrine

我目前正在为基于Symfony 3的管理系统开发个人消息模块。 Doctrine 2用作DBAL。

用于显示我希望由主题对其进行分组的消息(并且因为消息只有一个发件人和一个收件人,由人员执行)。
我正在采用从MySQL DB(通过Doctrine)获取消息和排序/分组的最佳方式。

首先想到的是通过数据库请求获得不同的主题列表(针对特定的人)。然后为每个主题提出新请求。我想这可能比收集此人(发件人或收件人)的所有邮件更快,并使用PHP函数对它们进行排序/分组。另一方面,这可能意味着大量的数据库请求,这可能会降低整个应用程序的速度。

消息是db表示的实体。另一种方法是将每条消息与持久对话联系起来。所以至少我不必对主题进行查询,尽管我仍然需要查询每个对话。

通常,此应用程序仅供约30人使用。因此,目前的表现并非如此。但我希望以合适的方式对其进行编码,这也可以应用于更大的用户群。

我希望你能给我一些关于如何处理这个问题的意见。

最好的问候,
spigandromeda

1 个答案:

答案 0 :(得分:0)

据我所知,您不希望在您的应用程序中编写ni​​ether slack或facebook,但希望在系统用户数量增加的情况下为现有模块添加一些可扩展性。这就是为什么我可以建议延迟加载将是您可以应用的最简单的解决方案。只需加载用户可以通过查询在屏幕上看到的大量消息 - 无论消息表如何增长,它都将保证相同的查询大小。比javascript和其他查询(应该通过ajax加载完全相同的一批实体)将会加载/呈现新消息。您可以通过谷歌轻松找到有关应用延迟加载的更多信息。并且不要忘记,您可以在表示消息的html容器上添加各种数据属性(如数据通知,数据通知等)。它们可用于通过javascript在用户机器上对消息进行排序/分组,而无需额外加载服务器资源。希望这有助于你的问题!