Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置SqlDbType的DbType不会影响性能吗?_C#_Sql Server_Sqldatatypes - Fatal编程技术网

C# 设置SqlDbType的DbType不会影响性能吗?

C# 设置SqlDbType的DbType不会影响性能吗?,c#,sql-server,sqldatatypes,C#,Sql Server,Sqldatatypes,我似乎真的找不到一个明确的答案。为IDbCommand对象创建参数时,设置DbType或使用SqlParameters SqlDbType是否对性能有任何影响?我想在大多数情况下答案都是否定的,但我的想法是特别针对毫秒计数的大容量环境。如果毫秒计数,那么答案是肯定的。这将影响性能。这是因为现在必须使用两个额外的CPU时钟周期来确定类型。可能只需要1毫秒就可以完成 当我问你一个问题时也是一样;当我给你一本电话簿和一个名字来找到合适的人时,这会影响你的表现吗。你必须测试每一种可能的方法。我不是说这是

我似乎真的找不到一个明确的答案。为IDbCommand对象创建参数时,设置DbType或使用SqlParameters SqlDbType是否对性能有任何影响?我想在大多数情况下答案都是否定的,但我的想法是特别针对毫秒计数的大容量环境。

如果毫秒计数,那么答案是肯定的。这将影响性能。这是因为现在必须使用两个额外的CPU时钟周期来确定类型。可能只需要1毫秒就可以完成

当我问你一个问题时也是一样;当我给你一本电话簿和一个名字来找到合适的人时,这会影响你的表现吗。你必须测试每一种可能的方法。我不是说这是怎么处理的,我只是想说明一点


我个人认为,它所花费的时间是如此之短,以至于您可能不会注意到差异。

与网络和服务器上的I/O可能产生的随机延迟量相比,它可能永远不会被注意到。如果您认为这是应用程序性能的潜在瓶颈,通常的建议会适用-实际上,从两个方面对其进行分析,并尝试使用代码和数据/访问模式对其进行度量。DbType?不太可能,因为试探法的时间尺度完全不同,每次调用都会相同(除了空值)。但是,不设置
varchar
的大小,例如用于要求每个查询变量都有单独的执行计划。因此,您使用5个字符的字符串进行查询,而执行计划不能用于使用6个字符字符串的查询。这可能会导致数据库服务器的内存和CPU使用出现一些问题。