2017-08-10 4 views
1

私は混乱している長いクエリを含む大きな.sqlファイルを持っています。 eclipseでデバッグする可能性はありますか?そうでない場合は、長いクエリの単一の部分が提供するものを確認する良い方法がありますか?eclipseでSQLファイルをデバッグする方法は?

+0

サブクエリを抽出して実行できますか単独で?たとえば、次のようなSQLクエリをデバッグすることはできません。 Javaコードは、dbサービス内で最適化されて実行されるため、実行中にステップを進めたり、パーツを監視/検査することはできません。 –

+0

P.S .:命令型(Java、C#、PHPなど)と宣言型(SQL、PROLOGなど)の言語の違いとして調べることができます。 –

+0

hmmmmmmmmmmm良くない – Ronald

答えて

1

強調表示されたテキストを実行するオプションを探して、クエリの一部を選択して単独で実行できます。 Uweからのコメントによれば、クエリエンジンが行う決定と結果セットを構築する際に一緒に張られた行を一歩一歩進めることはできません。あなたはまた、選択したコメントアウトを採用する必要があるかもしれません。たとえば、複数選択したすべてのリストをコメントアウトして*を選択するだけで、テーブル内で結合されたX番号と関連するwhere句とコメントを実行できます。 (重複した値や欠落している行など)が発生し、問題のある結合を調べるまで、結合に移動します。

実行計画の説明システムに精通しています。それはデータベースがどのようにクエリを実行したかを示しますが、それを読む方法を教えることはSOの答えには広すぎます。この理解を得るには数時間の作業が必要です。

最後に、売り上げが整えられているかどうかを確認してください。

Select 
    Columns 
From 
    Table 
    Join 
    Table 
    On 
    Predicates 
    Join 
    (
    Select 
     Columns 
    ... 
) subquery 
    On 
    Predicates 
Where 
    Predicates 
Group/order by 

ため:セットの標準は、これだけ1がすでに職場用に公開されていない場合は、独自のスタイルを作る、またはその他の債務からのコンセンサスを得ること、ありません..私は好きに地雷を敷設する傾向があります同じ「レベル」で動作するものはすべて同じ量だけインデントされます。サブクエリは、生成するデータと同じレベルで角括弧内に入り、他のテーブルと対話します。これにより、どのグループ/結合/選択がどのグループに作用し、何がどのようなものになるのかがわかりやすくなります

関連する問題