Microsoft.Data.Schema.ScriptDom および Microsoft.Data.Schema.ScriptDom.Sql ライブラリを使用して SQL を解析し、SQL 選択ステートメントに "TOP #" を追加しています。これは、特定の状況で結果セットを制限するために行います。
ライブラリの使用を開始したばかりで、SQL の解析が正確に高速ではないことに気付きました。実際に速度を測定するためにコードを計測していませんが、0.5 秒から 1 秒の間で目立ちます。これはひどいことではありませんが、速いとは言えません。
私のコードは次のようになります。
var Parser = new TSql100Parser(true);
TextReader reader = new StringReader(sql);
IList<ParseError> errors;
var fragments = Parser.Parse(reader, out errors);
私はこれをグーグルで検索しましたが、速度に関する苦情は見つからなかったので、何か間違っているのではないかと思っています.