[英]Differences in SQL syntax between SQL Server 2005 and ADO.Net?
[英]Latency between SQL Server 2005 and .NET
該問題是先前提出的問題的后續。
我寫了一個看起來像這樣的簡單程序。
string s;
do
{
using (SqlConnection conn = new SqlConnection("POOLEDCONN"))
{
using (SqlCommand cmd = new SqlCommand("", conn))
{
s = (string) cmd.ExecuteScalar();
Code2IncrementPerfomanceCounter
}
}
} while (!string.IsNullOrEmpty(s))
該查詢返回一個字符串(nvarchar(max),當前最大大小為9k),SQL Server和.NET之間存在很多延遲。 SQL Profiler表示查詢的持續時間為0毫秒,因此我認為它不是數據庫。 網絡的響應時間少於1毫秒,因此它不應該是網絡。
如果我在我們的測試服務器(VMWare,SQL未虛擬化)上運行此代碼,則每秒最多將有600個循環。 該應用程序消耗的CPU不超過5%。 為什么進展不快? 我必須使用流技術從SQL或其他方法獲取數據嗎?
提前感謝
每秒600個呼叫是每1.7毫秒1個呼叫。 如果您的延遲時間是1毫秒,而Sql Server對此稍加延遲,那似乎是一個合理的結果?
我需要看三種不同的東西:
打開和關閉SQL連接非常昂貴。 您可以只做一次嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.