Microsoft.Data.Schema.ScriptDom Parser的速度

时间:2013-03-05 16:23:53

标签: c# tsql sql-parser

我正在使用Microsoft.Data.Schema.ScriptDom和Microsoft.Data.Schema.ScriptDom.Sql库来解析SQL并将“TOP#”添加到SQL select语句中。我们这样做是为了在某些情况下限制结果集。

我刚刚开始使用该库,我注意到解析SQL的速度并不快。我没有检测代码来实际测量速度,但它很明显,在半秒到一秒之间。哪个并不可怕,但我也不会称之为快。

我的代码如下所示:

  var Parser = new TSql100Parser(true);      
  TextReader reader = new StringReader(sql);
  IList<ParseError> errors;
  var fragments = Parser.Parse(reader, out errors);

我用谷歌搜索了这个并没有发现任何关于速度的抱怨所以我想知道我是否做错了什么。

1 个答案:

答案 0 :(得分:3)

似乎微软的图书馆不是你想要的快速图书馆。我已经做了一些谷歌搜索,我不是唯一一个看到这个问题的人。如果你真的需要解析SQL,那里有一些替代品。它们没有Microsoft库的功能,但它们似乎表现良好。

Gold Parsing System

Poor Man's T-SQL Formatter