2

アプリケーションで SQL データベースからのデータを表示する際にパフォーマンスの問題があります。問題は、表示する必要があるパラメーターが多数あることです (顧客の個人データ、現在の統計など)。

これまでのところ、 SqlCommand.ExecuteScalar(単一のパラメーターの場合) または(複数のパラメーターの場合 -データベースから必要なデータを取得するクエリDataTable.Rows[].ItemArray.GetValue()の DataTable に入力します) のいずれかを使用し、それらの値を適切なコントロールに割り当てました。SqlDataAdapterコマンドが SqlCommand タイプであると仮定します。

単一パラメータの場合

command.CommandText = "SELECT Parameter1 FROM MyTable WHERE Condition = Value";
 textBox1.Text = command.ExecuteScalar().ToString();

複数のパラメーターの場合 (SDA は SqlDataAdapter です):

command.CommandText="SELECT Parameter1 - ParameterN FROM MyTable WHERE Condition = Value";
 SDA.SelectCommand = command;
 SDA.Fill(MyDataTable);
 textBox1.Text = MyDataTable.Rows[0].ItemArray.GetValue(0).ToString();
 comboBox1.Text = MyDataTable.Rows[0].ItemArray.GetValue(1).ToString();
/*
I repeat similar lines of code for each parameter and display it in the appropriate control.
*/

このアプローチは正しく機能しますが、多数のパラメーター (20 以上) がある場合、動作が非常に遅くなります。

これらの量のデータを表示するより効率的な方法はありますか?また、どのように実装しますか?

ありがとうございました

4

2 に答える 2