Visual Studio 2010のSQLdbからデータを取得する小さなWebアプリケーションがあります。これを表示しようとすると、単純なドロップダウンリストを使用すると、コンパイル後すぐに約15秒かかります。そのあと5秒ごとにリクエストします。私はdbとリピータにLINQ接続を使ってすべてを出力します。それは4つの列と約50行ですので、mutchデータはありません。それは私が10行、同じ応答時間を取るとしようとすると問題ではありません。非常に長い要求時間VS2010
VS2008がインストールされた別のコンピュータで同じことをテストしました。その時間は0.1秒のようなものでした。私は.NET 3.5を使用し、すべての最新のアップデート(SP1など)をインストールしています。
私は見トレースを見れば、それは私のコードでこれらの行には時間がかかる:
var cust = dbContext.Customers
.Select(c => new
{
c.customerID,
c.Email
}).Take(10);
repeater.DataSource = cust;
repeater.DataBind();
誰もがSOMのmutch時間を取ることができるものを知っていますか?
よろしく ダニエル
私は、この他のaproach試してみました:
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandType = CommandType.Text; //default
cmd.CommandText = "SELECT Email FROM Customer";
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
をそれだけの時間がかかります..私は思うデシベルを呼び出すコードよりもいくつかの他のより根本的な問題がなければなりませんか?
いくつかのより多くの情報: 私は、これが初めてのページSOMトレースでなかったがロードされます。
Begin Raise ChangedEvents 0,00219604937555932 0,000014
After repeater has printed 15,8138335259613 15,811637
End Raise ChangedEvents 15,8138801733289 0,000047
セカンドタイム:でChangeEventで起こっ
Begin Raise ChangedEvents 0,00219604937555932 0,000014
After repeater has printed 5,25090396258066 5,248825
End Raise ChangedEvents 25095106283536 0,000047
What's?
Take()の後にToList()を呼び出してみましたか? – hyp
データベースサーバーをチェックして、クエリの実行時間を確認しましたか? – mbeckish
さて、私は 'customer'mailQuery'のようなもっと意味のある' cust'という名前をつけ、 '.Take(10);'をデータバインディング行に移動します。 linqクエリを表す変数とクエリの結果である変数を明確に区別することが重要です。 – asawyer