我正在循环中测试查询性能。我想运行一个选择语句数百次,而不是返回结果集的一百个重复项,而不是每次都丢弃结果。
PostgreSQL的语法为“perform select ...”,它将执行select语句并丢弃结果。 “37.6.2。执行无结果的查询”http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html
TSQL中是否有等效的关键字?
我知道SSMS有一个“丢弃结果”选项,但似乎结果在每次迭代后都不会被丢弃,并且在所有迭代完成之前仍会累积在内存中。我想选择一个临时变量可以工作,但用关键字丢弃结果要简单得多。我宁愿避免构造表变量定义以及将结果存储在临时表中的潜在开销。
答案 0 :(得分:0)
我在SQL-92规范中搜索了一个等效的关键字,但是我无法找到任何一个,而且根据我的经验,我不知道SQL Server的一个特定关键字。
答案 1 :(得分:0)
如果您使用的是ADO.Net,请使用command.ExecuteNonQuery();
执行不带结果集的查询。using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string sqlConnectString = "Data Source=(local);Integrated security=SSPI;Initial Catalog=MyDatabase;";
string sqlDelete = "DELETE FROM MyTable WHERE Id = 2";
SqlConnection connection = new SqlConnection(sqlConnectString);
SqlCommand command = new SqlCommand(sqlDelete, connection);
connection.Open( );
int rowsAffected = command.ExecuteNonQuery( );
Console.WriteLine("{0} row(s) affected.", rowsAffected);
Console.WriteLine("Record with Id = 2 deleted.");
connection.Close( );
}
}