0

我正在开发一个小型 Web 应用程序(angularjs/jquery 前端,postgresql 9.3 后端),我想在其中显示一个“网格”(只读)中较大(几百万)组记录的视图。我有一组基于数据方面的过滤器,我希望用户能够连续应用这些过滤器;也就是说,应用一个过滤器,然后应用下一个过滤器。用户可以选择过滤器和过滤器设置。这最终成为一组逻辑 AND 操作(可能还需要 SQL 连接)。

我对人们在后端做什么来改善用户体验很感兴趣。特别是,我可以想象:

  1. 每当应用分页或附加过滤时,“动态”地应用过滤器作为 SQL 查询
  2. 在每个过滤级别创建缓存,以便我可以更快地更新数据

显然还有其他选择,我想听听其他人在这种情况下会做什么。

4

1 回答 1

0

不确定这个问题是否“可以回答”,但这里是我们所做工作的示例。我们的应用程序不进行过滤,而是允许用户选择想要查看的数据项。与您的应用程序一样,这些可能包括与多个其他表的连接。我们有一个“驱动程序”表,其中包含字段名称的“用户”版本,包含它的表的内部连接字符串,如果内部连接条件不充分,可以选择用于 Where 子句的字符串,以及数据库上列的名称。

我们构建基本查询,然后查看用户选择的所有项目的条目。我们从这些字段中添加不同的内部连接子句(如果三列来自一个表,我们只想连接一次)。我们将 And 子句添加到括号中的 Where 子句封装中。我们将列名添加到选择列表中。

于 2013-10-23T11:16:00.573 回答