我在循环中测试查询性能。我不想返回结果集的重复数百个,我想运行一个select语句几百次,每次都丢弃结果。TSQL等效于PostgreSQL“PERFORM”关键字?
PostgreSQL的语法为“执行select ...”,它将执行select语句并放弃结果。 “37.6.2。执行没有结果的查询”http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html
TSQL中是否存在等价关键字?
我知道SSMS有一个“放弃结果”选项,但是看起来结果在每次迭代后都不会丢弃,并且在所有迭代完成之前仍会在内存中累积。我猜想选择一个临时变量可能会起作用,但只要丢弃关键字的结果就简单多了。我宁愿避免构建表变量定义以及将结果存储在临时表中的潜在开销。
我使用TSQL而不是ADO.Net运行它。这个问题不是无视结果集的问题,据我所知,这是所有的ExecuteNonQuery完成的。问题是为了确保当每个SELECT语句完成时SQL Server会放弃结果集,当在单个TSQL批处理循环中发出数千个选择语句时,它可以有效地测试语句的性能,而不会浪费可能的资源干扰测试。 – Triynko