Web应用程序中的串行过滤器

时间:2013-10-23 10:54:52

标签: sql web-applications filtering

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

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

  1. 在应用分页或其他过滤时,“动态”将过滤器应用为SQL查询
  2. 在每个过滤级别创建一个缓存,以便我可以更快地更新数据
  3. 显然还有其他选择,我想听听其他人在这种情况下会做些什么。

1 个答案:

答案 0 :(得分:0)

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

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