存储过程与数组连接的查询

时间:2016-10-29 07:07:55

标签: arrays postgresql python-3.x

我有一个数据库,时间序列数据被分成偶数大小的块,存储为postgres中的数组。

我需要随意提取它们的范围并将返回的集合连接成一个数组。它们有一个偏移字段,因此给定起始偏移量和长度,您可以找到您要查找的集合的任何部分。

哪个更好:

  1. 编写返回每个单独数组并在软件中连接的查询
    1. 使用占用起点和长度的存储过程并在返回整个数组之前在内部进行连接

1 个答案:

答案 0 :(得分:0)

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

如果你要求美学判断,简单的代码和可持续性,我觉得不能发表明确的判断。我的直觉是两者都很相似。

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

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