[pgsql-jp: 36900] Re: 項目毎に件数指定をしたい

根岸 智幸 tomoyu-n @ tokyo-cafe.com
2006年 3月 20日 (月) 11:07:53 JST


根岸です。

idとf1にインデックスを貼っていても、2時間以上かかり 
ますか?

搭載メモリの量にもよりますが、postgresql.confの 
sort_memの値を
大きくしてみては、いかがでしょう?


On 2006/03/18, at 14:38, 西村 篤史 wrote:

> 西村@和歌山市です。
>
>>> つまり、左端のカラム「ID」ごとにカラム「f1」の値 
>>> が大きい順に
>>> 上位2位までを表示したいのですが、Select文ではど 
>>> う書けば良いので
>>> しょうか?
>
> odagiri atsushi wrote:
>> select *
>> from ex1 e
>> where seq in (select seq from ex1 f where f.id = e.id order by
>> f1 limit 2)
>> order by e.id , e.f1 desc
>
> 相関クエリというのを知りました。
> レコード数を増やしてやってみましたら、欲しい形の表を得られる事が
> できました。
>
>> 相関クエリなので、パフォーマンスは保障できませんが
> 50万レコードある本番用(といってもまだテスト)のテーブルを使い、
> ビューを作ってから相関クエリを実行させたんですが、マシンスペッ 
> クの
> 低さも相まって、2時間経っても答えが返ってきませんでした(w
>
> 「各部門毎に売上金額の上位 n位の商品を降順で出力」といっ 
> た処理に
> つかうには、スペックアップや夜間バッチ等で作っておく表などの
> チューニングも必要みたいですね。
>
> from table1 t1 ( from table1 as t1)という文法も知りました。
>
> rish さん、小田切さん、中司さん、ありがとうございました。
>
>
>




pgsql-jp メーリングリストの案内