2016-10-29 53 views
0

我有一个数据库与时间序列数据拆分成数组存储在postgres中的大小均匀的块。存储过程与数组concatanation查询

我需要任意提取它们的范围,并将返回的集合串联到一个数组中。他们有一个偏移字段,所以给定一个起始偏移量和长度,你可以找到你正在寻找的任何部分。

哪个更好:

  1. 为了编写返回每个单独阵列的查询和在软件串联

  • 使用存储的过程这需要一个起始点和长度,并在返回整个数组之前在内部进行级联
  • 回答

    0

    “更好”在这种情况下是一个相当不确定的形容词。

    如果您要求美学判断,简单的代码和可维护性,我觉得不能发出明确的判断。我的直觉是两者相似。

    如果您问的是好的表现,我建议您运行一个简单的测试。但即使没有测试,我会说这两个解决方案都不是最优的,你应该把它写成一个单独的SQL语句。

    如果您问的是可移植性,答案取决于移植到另一个数据库(这将有利于应用程序软件解决方案)还是移植到另一种编程语言(在这种情况下,解决方案是数据库是最好的)。