小编Lor*_*rin的帖子

拥有多个sortkey列意味着什么?

Redshift允许将多个列指定为SORTKEY列,但大多数最佳实践文档都被编写为好像只有一个SORTKEY.

如果我创建一个表SORTKEY (COL1, COL2),是否意味着所有列都按COL1排序,那么COL2?或者,因为它是一个柱状存储,每列都以不同的顺序存储?即COL1顺序为COL1,COL2顺序为COL2,其他列无序?

我的情况是我有一个表(其中包括)type_id和timestamp列.数据大致按时间戳顺序到达.大多数查询都是由type_id和timestamp加入/限制的.通常,type_id子句更具体,这意味着可以通过查看type_id子句而不是通过查看timestamp子句来排除更大比例的行.因此,type_id是DISTKEY.我想了解的优点和缺点的SORTKEY (type_id),SORTKEY (stamp),SORTKEY (type_id,stamp),SORTKEY (stamp,type_id).

谢谢.

amazon-redshift

27
推荐指数
2
解决办法
1万
查看次数

为什么Option需要在for循环中显式显示toList?

使用带有简单选项的for循环可以:

scala> for (lst <- Some(List(1,2,3))) yield lst
res68: Option[List[Int]] = Some(List(1, 2, 3))
Run Code Online (Sandbox Code Playgroud)

但循环选项的内容不会:

scala> for (lst <- Some(List(1,2,3)); x <- lst) yield x
<console>:8: error: type mismatch;
 found   : List[Int]
 required: Option[?]
              for (lst <- Some(List(1,2,3)); x <- lst) yield x
                                               ^
Run Code Online (Sandbox Code Playgroud)

...除非Option明确转换为List:

scala> for (lst <- Some(List(1,2,3)).toList; x <- lst) yield x
res66: List[Int] = List(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

为什么需要显式列表转换?这是惯用的解决方案吗?

scala scala-option

13
推荐指数
1
解决办法
264
查看次数

如何查看活动查询底层游标

pg_stat_activity我可以看到客户端正在使用游标通过一些查询结果.但是我如何才能看到原始查询是什么?

pipeline=> select pid, query from pg_stat_activity where state = 'active' order by query_start;
  pid  |                                                         query
-------+--------------------------------------------------------------------------------------
  6734 | FETCH FORWARD 1000 FROM "c_109886590_1"
 26731 | select pid, query from pg_stat_activity where state = 'active' order by query_start;
(2 rows)
Run Code Online (Sandbox Code Playgroud)

我看到了pg_cursors,但它是空的:

pipeline=> select * from pg_cursors;
 name | statement | is_holdable | is_binary | is_scrollable | creation_time
------+-----------+-------------+-----------+---------------+---------------
(0 rows)
Run Code Online (Sandbox Code Playgroud)

服务器位于AWS RDS上.

pipeline=> select version();
                                                   version
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.3.3 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) …
Run Code Online (Sandbox Code Playgroud)

postgresql

7
推荐指数
1
解决办法
1409
查看次数

标签 统计

amazon-redshift ×1

postgresql ×1

scala ×1

scala-option ×1