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 读取数据时,将其存储在交流数组中的最佳方法是什么?

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?)中并为每一列循环遍历它。

但是,在不知道存储在一个向量上的目的的情况下,如果值按照您显示它的顺序排列,那么它只是虚拟数据等。很难就什么更“有效”给出明确的答案。

于 2012-10-03T00:52:52.043 回答