[pgsql-jp: 40471] Re: SQLの検索性能について
Itagaki Takahiro
itagaki.takahiro @ gmail.com
2010年 10月 21日 (木) 15:46:02 JST
2010/10/21 松元 瑛理子 <e-matsumoto @ nri.co.jp>:
> work_memとshared_buffersでチューニングを実施したのですが、
> 思うように検索性能が改善しませんでした。
...
> →半減する程の速度向上を期待していたのですが、前述のとおり性能改善は見られませんでした。
うーん、そんなに期待できるものなんですかね?
データやクエリにも依りますが、物理メモリを増やすならばともかく、
メモリ系はチューニングしても、それ自体はそんなに性能には貢献しませんよ?
# work_mem を増やして実行計画が変化する、とかなら別ですが。
> データ総数8,000万件(約600万件ずつ13パーティションに分散)
~~~~~~~~~~~~~~~~~~~~~~
「パーティションに分散」というところが重要にみえます。
具体的な定義はどうなっていますか?
> SELECT * FROM LOG_TBL
> WHERE LOG_DATE BETWEEN [下限値] AND [上限値]
> ORDER BY LOG_DATE, REC_DATE
> OFFSET 0 LIMIT 1001;
この SQL の EXPLAIN 結果はどうなりますか?
また、[下限値] や [上限値] を生の値として与えているか、
Prepared Statement のパラメータにしているかでも結果が変わります。
--
Itagaki Takahiro
pgsql-jp メーリングリストの案内