Firebird .NETProviderで実行計画を取得する
目次
環境
実装
FBCommandクラスにCommandPlanメソッドがあるので、それを呼び出すだけです。
using (var con = new FbConnection("接続文字列")) using (var command = con.CreateCommand()) { con.Open(); command.CommandText = @"select * from rdb$indices where rdb$system_flag = 0"; command.ExecuteReader(); Console.WriteLine(command.CommandPlan); }
このメソッド、Browsable属性がfalseですが、特に問題ないでしょう。
いわゆる、Isqlでいう set plan on; の状態なので、SQLを実行しないと実行計画を取得できません。
実行計画の見方
他のDBMSの実行計画と比べると、Firebirdは少し特徴的に見えますが、そういう時は
Referenceを参照しましょう。
ちゃんとDocumentが用意されてます。