[pgsql-jp: 29493] Re: INSERTの速度UP に関して

sugita @ sra.co.jp sugita @ sra.co.jp
2003年 3月 28日 (金) 17:28:38 JST


  杉田です。

From: "Tadashi Kanbayashi" <Tadashi.Kanbayashi @ toppan.co.jp>
Subject: [pgsql-jp: 29492] Re: INSERTの速度UP に関して
Date: Fri, 28 Mar 2003 16:08:26 +0900

;;; そこで質問ですが、この場合、
;;; FROM句にテーブルをカンマ区切りで羅列して、
;;; WHERE句に結合条件を記述するで良いでしょうか。

  はい、そうです。

;;; とりあえず、単純に試したところ、60分掛かっていたのが50秒で
;;; 返ってきました・・・。JOINを使うより、まずは、プランベースにお任せでやった
;;; ほうが
;;; 良いのでしょうか。

  まずは、サーバに任せるのがいいのではないかと考えています。

;;; JOINを使用したFROM句の書き方ですが、
;;; 
;;; FROM 
;;; (テーブルA INER JOIN テーブルB ON テーブルA.カラム1 = テーブルB.カ
;;; ラム1)
;;;     INER JOIN テーブルC ON テーブルA.カラム2 = テーブルC.カラム2
;;; INER JOIN テーブルD ON テーブルC.カラム3 = テーブルD.カラム3
;;; LEFT JOIN テーブルE ON テーブルD.カラム4 = テーブルE.カラム4
;;; AND テーブルE.カラム5 = テーブルA.カラム5
;;; AND テーブルE.カラム6 = テーブルB.カラム6
;;; 
;;; のように、 書けるでしょうか。
;;; 3つ以上のテーブルの結合の場合は、括弧でくくったINERを1テーブルとみなして
;;; 結合させる
;;; と思うので、書けないと思えるのですが、psqlで実行する際にエラーになりませ
;;; ん。

  エラーにならなかったのをそのまま見せてもらえますか?  

;;; 例えば、上記のような書き方が、処理速度に影響を与えるということもあるでしょ
;;; うか。

  EXPLAIN/EXLAIN ANALYZE、7.3 以上ならば psql の \timing で実測して確認するの
がいいと思います。実行していないクエリーは何をするか分かりません。


Kenji Sugita                                      



     
     



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