2010-11-22 12 views
1

UNIXでIDS 9.04。Informixクエリースロー

私は200000+の行を持つテーブルを得ました、各行は200+の列を持っています。私は、このテーブルの上に(50列と470+行を返すことになって)クエリを実行するとき 、それは返すように100+秒かかり、DbVisualizerのは私に言った:

eexecution時間:4.87秒の時間フェッチ :97.56秒を

私は、ファイルにすべての470+の行をエクスポートする場合、私は最初の100行を選択した場合

、ファイルサイズが未満800K

のUPDATE STATISTICSは、それだけで、何のブロブが関与していない、唯一の50列が選択、runnedされています戻るには5秒が必要です。

Plzヘルプ!

+0

どのプラットフォームのInformixのどのバージョンですか?クエリの条件は何ですか?クエリプランは何を表していますか? UPDATE STATISTICSを実行しましたか?おおよそどのくらい広い列が選択されているか選択されていませんか?関係するブロブはありますか? –

+0

UNIXのIDS 9.04。 – idiotgenius

+0

UPDATE STATISTICSが実行されましたが、選択された列は50行しかなく、BLOBは含まれていませんでした。最初の100行を選択すると、5秒間しか戻りませんでした。 – idiotgenius

答えて

0

SELECT FIRST 100には数秒しかかからない場合は、FIRST_ROWSのクエリプランがALL_ROWSのクエリプランと大きく異なることが示唆されています。

SET EXPLAIN ONでクエリを実行してみてください。最初のnがあってもなくてもよい。それはあなたに何が起こっているかの手がかりを与えるかもしれません。

0

使用:

set explain on avoid_execute;

YOUR_QUERY

セットオフ説明します。

あなたのフォルダにあるsqexplain.outファイルを確認してください。