C# 出于测试目的,我如何限制和降低本地SQL Express的速度?

C# 出于测试目的,我如何限制和降低本地SQL Express的速度?,c#,sql,sql-server,ado,C#,Sql,Sql Server,Ado,我用ADO在c中进行查询,从MicrosoftSQLSExpress数据库中选择一条记录。出于某些测试目的,我需要在SQL Express中使用大约300ms的延迟,以便模拟所需的情况。 有一个限制,我不能使用任何存储程序 任何提示都将不胜感激。您可以在SQL批处理中包含一个命令 或者,您可以添加大量数据,并在非索引列上进行查询,这肯定会降低查询速度。您可以在SQL中插入WAITFOR: 有关更多信息,请参阅此SO QA 给定发送到数据库的命令: 从MyTable中选择* 嵌入在SqlComma

我用ADO在c中进行查询,从MicrosoftSQLSExpress数据库中选择一条记录。出于某些测试目的,我需要在SQL Express中使用大约300ms的延迟,以便模拟所需的情况。 有一个限制,我不能使用任何存储程序

任何提示都将不胜感激。

您可以在SQL批处理中包含一个命令


或者,您可以添加大量数据,并在非索引列上进行查询,这肯定会降低查询速度。

您可以在SQL中插入WAITFOR:

有关更多信息,请参阅此SO QA

给定发送到数据库的命令:

从MyTable中选择*

嵌入在SqlCommand中:

将其更改为以下内容:

    using (var conn = new SqlConnection("connection string"))
    using (var comm = new SqlCommand("", conn))
    {
        conn.Open();
#if DEBUG
        comm.CommandText = "WAITFOR DELAY '00:00:01.000'; SELECT * FROM MyTable";
#else
        comm.CommandText = "SELECT * FROM MyTable";
#endif
        comm.ExecuteNonQuery();
    }
以嵌入1秒等待


理想情况下,您不希望以如此丑陋和可疑的方式执行此操作,但出于演示的目的,它就足够了。

您确定我可以使用此操作而不涉及SQL中的存储过程吗,正如我提到的,使用SP是一种限制。在某个时候,您会向数据库发送SQL命令,很可能是直接从代码开始的。在调试模式下,添加一些同时注入WAITFOR命令的条件代码-它不需要存储过程。@Ehsan:只需运行WaitForDelay“00:00:00.300”;选择我被这个卡住了,不知道如何在一个T-SQL命令中将我的select命令和WAITFOR连接起来!!我想我需要更多的帮助。谢谢你。那太好了。
    using (var conn = new SqlConnection("connection string"))
    using (var comm = new SqlCommand("", conn))
    {
        conn.Open();
#if DEBUG
        comm.CommandText = "WAITFOR DELAY '00:00:01.000'; SELECT * FROM MyTable";
#else
        comm.CommandText = "SELECT * FROM MyTable";
#endif
        comm.ExecuteNonQuery();
    }