用我们开发的程序在客户那边检索数据时,只能检索少量数据,比如说表Aselect top 100 * from a    这100条数据是建议检索出来的
但是 select top 200 * from b  这200条数据就检索不出来,卡在那里不动,也没提示超时,在我们所有的客户当中,大概100多个客户,只有这个客户这样,比较郁闷,是否是他们的路由器上有限制,但是他们下载歌曲速度是很快的,有达人知道怎么解决吗?

解决方案 »

  1.   

    由於SERVER繁忙,執行語句速度慢
    並行計畫指的是SQL Server查詢,它在多執行緒、多處理器的環境中得到優化。多數時候,這意味著查詢執行和返回結果的速都更快。但有時SQL Server試圖優化並存執行的查詢,結果運行情況非但沒有改善反而更糟。SQL Server在自動調諧上的確功用顯著(也就是說,如果CPU使用率高,並行查詢就少),但它不是總能預測多執行緒中的程式何時運行速度變慢或變得低效。儘管這種情況很少發生,但當查詢性能變差時,就很有必要瞭解如何限制並行。  一種辦法是進行單個查詢設置。SQL Server 2000 有一個查詢提示選項(MAXDOP),可以用來限制某項查詢的最大並列數量。例如,將其設置為(MAXDOP 1),可以將查詢限制在一個處理器中。如果許多用戶進行同種查詢,每個查詢將被分配到各自不同的處理器中,但只會出現一個執行緒。執行緒越多,並行越多,這也意味著基於情況轉變而產生的費用會更高,記憶體使用量也更大。  通過“最大並行數”選項可提高SQL Server的並行程度。(該選項在SQL Server企業管理器,伺服器屬性中,其處理器標籤為“確定並存執行的處理器數量”。)如果設置為0,SQL Server將在所有工作的處理器中劃分查詢;如果是1,查詢則被限制在一個處理器中。但是對同種查詢的多種要求將分配到所有工作的處理器中。  需要注意的是,這裡所說的並不意味著要限制SQL Server而只使用一個處理器(在處理器標籤中可設置)。除非在同台機子上運行另一個計算精密的程式,並想把每個程式限制在各自處理器中,否則並不需進行特別設置。