以下奇怪的情況我昨天在C#中使用SqlClient獲得排序的結果集。c#使用SqlClient ORDER BY的排序結果非常慢
下面的SQL查詢,例如:
SELECT Num, Name FROM Customer WHERE Num LIKE '%V%' OR Name LIKE '%V%' ORDER BY Num ASC
的結果集在這種特殊情況下下令大約100行。
問題如下:如果我在sql-server本身上運行查詢,那該死的太快了!結果幾乎顯示在我點擊「運行查詢」的那一刻。但是當我使用SqlClient在C#中運行查詢時,速度非常慢(約5-10秒)。我對我的程序的每個小部分進行了基準測試,發現連接到sql-server的時間大約爲10毫秒,所以兩臺機器之間的鏈接不成問題。
我嘗試了幾乎所有的東西,直到我發現,使用SqlClient的C#中的查詢返回的結果幾乎與直接在sql-server上運行查詢一樣快,如果我從查詢中刪除ORDER BY Num ASC。
所以我的問題是:什麼是SqlClient在C#中使用ORDER BY將使用時間乘以數千萬與sql-server本身相比? =)
你可以發佈最簡單的C#示例來展示問題嗎? – Hawxby 2011-01-21 09:25:37