繁体   English   中英

在数组SQL Server 2008中有效地存储表

[英]Store table efficiently in array SQL Server 2008

我有一张桌子

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

当我在存储过程中从SQL Server 2008中以COLUM MAJOR ORDER读取时,将其存储在ac Sharp数组中的最佳方法是什么?

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);

由于记录是逐行处理的,因此行主要顺序将更易于编码。 要按照列的主要顺序存储它,您必须将所有记录加载到内存中的数据结构(DataTable?)中并为每列循环遍历。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM