0

これがどのタイプの質問なのかわかりません。

京都キャビネットがサポートするインポート形式は何ですか?

たとえばt、PostgreSQL データベースに多対多の関係であるジャンクション テーブルがあります。のサイズtは約 2 億 8500 万です。

t =
X, Y
-----
1, a
1, b
2, a
2, c
3, c
3, d
4, b
4, e

エクスポートしてから、Kyoto Cabinet のようなキーバリューストアにインポートする最も簡単で最速の方法は何ですか?

私が終わるように:

db = 
db[1] = [a,b]
db[2] = [a,c]
db[3] = [c,d]
db[4] = [b,e]

私の好きな言語はRubyです。

4

1 に答える 1

2

値を取得するには:

SELECT x, array_agg(y ORDER BY y)
FROM   t
GROUP  BY x;

を生成しarrayます。あなたがtext使用したい場合string_agg(y, ',' ORDER BY y)
おそらくもっと速い:

SELECT x, array_agg(y)
FROM  (SELECT * FROM t ORDER BY x,y) t
GROUP  BY x;
于 2012-08-15T20:45:12.073 に答える