3

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

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

我的代码如下所示:

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

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

4

1 回答 1

3

看来微软的库不是你所说的快。我做了更多的谷歌搜索,我不是唯一一个看到这个问题的人。如果你真的需要解析 SQL,有一些替代方案。它们没有 Microsoft 库的功能,但它们似乎表现良好。

黄金解析系统

穷人的 T-SQL 格式化程序

于 2013-03-12T19:00:28.727 回答