• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データがないテーブルの問い合わせが遅い)

データがないテーブルの問い合わせが遅い

このQ&Aのポイント
  • 一時的に使うTEMPテーブルからデータを抽出するSQLのパフォーマンスが低下しています。SELECT文のCOSTが高く、返答が遅い状態です。
  • データがないテーブルからデータを抽出するSQL文は通常はCOSTが低く、返答も早いはずですが、TEMPテーブルを使用した場合には高いCOSTと遅い返答が発生しています。
  • 対策としては、夜間にTEMPテーブルをtruncateし、analyze処理を行うことでパフォーマンスを改善することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>1.原因として考えられそうなこと レコードがdeleteされていても、HWM(High Water Mark)はレコードが大量に入った時と変わっていません。この状態でフルスキャンかけると、実際のレコードが0件でもすべてのブロックを読み込むので当然遅いです。 >2.有効そうな対策 >  (夜間でtruncateしてanalyze処理をかける、等) レコードが0件になるときにtruncateだけで十分でしょう。HWMが下がればOKそうなので。 analyzeはそんなにレコードの状態が変わるのでしたら意味が無いでしょうから。

fuyu
質問者

お礼

すいません、お礼が遅くなりました。 回答ありがとうございます。 結構専門的な話だと思っていたので こんなに早く回答がもらえるとは思って いませんでした。 早速4日(金)の夜からTRUNCATEを開始し 今朝はCOSTが低くなっていることを確認できました。 感謝感謝。

関連するQ&A