Learn VisualLearn DB Visual
EN

葉から親へ計画を読む

EXPLAINは、実際にはクエリを実行せずに、プランナーが選んだ実行計画と推定コスト・推定行数だけを表示します。EXPLAIN ANALYZEは実際にクエリを実行し、その推定値に加えて実測の時間・行数を表示します。そのためUPDATEなど変更を伴う文に使うときは、トランザクション内で実行し、必要に応じてROLLBACKします。トランザクションの詳しい仕組みは後のレッスンで学びます。推定と実測を比べることで、統計情報が古くなっていないかを確認できます。例えばordersへのSeq Scanで推定500行のところ実測が4,900行なら、統計が古く、プランナーが誤った行数をもとに計画を選んでいた可能性があります。

UPDATEでANALYZEに注意する理由は?