3

我正在循环测试查询性能。我不想返回一百个重复的结果集,而是想运行数百次 select 语句,每次都丢弃结果。

PostgreSQL 有语法“执行选择...”,它将执行选择语句并丢弃结果。“37.6.2. 执行没有结果的查询” http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html

TSQL 中是否有等效的关键字?

我知道 SSMS 有一个“丢弃结果”选项,但似乎每次迭代后结果都不会被丢弃,并且在所有迭代完成之前仍会在内存中累积。我想选择一个临时变量是可行的,但是用关键字丢弃结果会简单得多。我宁愿避免构建表变量定义以及将结果存储在临时表中的潜在开销。

4

2 回答 2

0

我在 SQL-92 规范中搜索了一个等效关键字,但我找不到任何关键字,而且根据我的经验,我不知道特定于 SQL Server 的关键字。

于 2011-08-22T18:42:59.813 回答
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( );
    }
}
于 2011-08-22T21:45:20.353 回答