0

私は次のようなテーブルを持っています

a1 a2 a3 a4
-----------
1  11 21 31
2  12 22 32
3  13 23 33
4  14 24 34
5  15 25 35
6  16 26 36
7  17 27 37
8  18 28 38 
9  19 29 39
10 20 30 40

COLUM MAJOR ORDERのストアドプロシージャでSQL Server 2008から読んでいるので、ACシャープアレイに格納する最良の方法は何ですか?

array = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,......40

ROW MAJOR ORDERのように格納した方が良いですか?、どちらが効率的ですか?

array = 1, 11, 21, 31,2,12,22,32,3,13,23,24,....10,20,30,40 

私は使っている

SqlDataReader rdr = null;
// create a connection object
SqlConnection conn = new SqlConnection(
"Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI");
// create a command object
SqlCommand cmd  = new SqlCommand("select * from a1,a2,a3,a4", conn);
4

1 に答える 1

1

レコードは行ごとに処理されるため、行優先順位はコーディングが容易です。列の主要な順序で保存するには、すべてのレコードをメモリ内のデータ構造 (DataTable?) にロードし、列ごとにループする必要があります。

ただし、1 つのベクトルに格納する目的を知らずに、値が表示されている順序である場合、それは単なるダミー データなどです。より「効率的な」ものについて明確な答えを出すことは困難です。

于 2012-10-03T00:52:52.043 に答える