2017-01-10 2 views
0

プログラム内で、ユーザーが非常に大きなクエリを起動してDBからデータを抽出します(この場合はSQLserver)。クエリを実行せずにSQLCommandの推定時間を知る方法?

String SQL_SELECT = " SELECT * FROM BIG_TABLE";  

SqlConnection conn = null; 
SqlDataReader aReader = null; 

conn = getConnessione(); 

SqlCommand aCommand = new SqlCommand(SQL_SELECT, conn); 

conn.Open(); 
aReader = aCommand.ExecuteReader(); 

これは、コマンドの前に

aReader = aCommand.ExecuteReader(); 

を推定時間を知ることが可能ですコマンドやベストプラクティスはありますか?

+4

私はここで手足に出て、いいえと言うでしょう。 –

+0

多分、この記事[http://tackoverflow.com/questions/2108041/c-sharp-sqldatareader-execution-statistics - と - 情報)はあなたを助けることができます。 –

+1

@diiN__________これはクエリを実行する必要があります –

答えて

0

理論的には言えません。

再生には多くの要素があります。

表のサイズ、行の量、列の量、索引、索引などの使用場所などの問合せファクタ、ネットワーク速度(例:リモートの場合、予測時間はデータベースはローカルにホストされています)

+0

私は要因、SQLServer – daniele3004

+1

@ daniele3004の実行時間の残念なことにそれらのすべての実行時間に影響を与えるだけの要因を検討したい。 –

+0

はい、それはユーザエクスペリエンスにとって重要です – daniele3004

関連する問題