存储数据的其他表与ADO.Net数据表不同? [英] other table that stores data differently than ADO.Net datatable?

查看:61
本文介绍了存储数据的其他表与ADO.Net数据表不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有这个庞大的应用程序,它基于在

dataTable上存储大量数据。我们唯一的问题是,将大量数据(1亿美元记录)存储到数据表中会降低系统速度,因为所有这些

数据都将被存储在记忆中。性能真的受此影响。

因为我们真的不想根据这个数据表重新设计所有内容,

是否有任何公司提供类似于

的数据表以更有效的方式存储大量数据?基本上,我们将所有这些

数据(这是一次性过程)加载到数据表中并使用它。我们

不想改变任何一个;我们只想要类似于存储更好方法的

数据表。另外,windows datagrid应该能够绑定到这个新表没有太多问题。

谢谢。

We have this huge application that''s based on storing tons of data on a
dataTable. The only problem we''re having is that storing LOTS of data (1
million records) into a datatable will slow down the system since all this
data will be stored in memory. The performance is really affected with this.
Since we don''t really want to redesign everything based on this datatable,
are there any companies that offer a product similar to the datatable that
stores lots of data in a more efficient way? Basically, we load all this
data (it''s a one-shot process) into the datatable and work with that. We
don''t want to change any of that; we just want something similar to the
datatable that stores a better way. Also, the windows datagrid should be
able to bind to this new table without many problems.
Thanks.

推荐答案

VMI,


当然,你不想重新设计你的应用程序,或者你如何存储数据,

但是存在的DataTable和你可能会获得的效率一样高(或者标准)。基本上,它是一种哈希机制(获取特定行的列的

值)。


除此之外,几乎没有可以做些什么来改善它。


虽然您使用的数据是静态的,但同时拥有一百万行b $ b行是一个设计缺陷, 在我看来。另外,我无法想象为什么你需要将数据网格绑定到一个包含一百万个/ b $ b行的表中。人类没有办法在一个时间内处理所有这些数据,并且事先将它全部放在一边并不能帮助你,因为你需要
由于占用了大量的内存而导致性能下降。


我建议您使用较小的数据集处理这些数据,从中获取

希望商店(即数据库)在需要时。


希望这会有所帮助。


-

- 尼古拉斯Paldino [.NET / C#MVP]

- mv*@spam.guard.caspershouse.com

" VMI" < VO ****** @ yahoo.com>在消息中写道

news:uM ************** @ TK2MSFTNGP15.phx.gbl ...
VMI,

Granted, you don''t want to redesign your app, or how you store the data,
but the DataTable as it exists is as efficient as you are probably going to
get (as well as standard). Basically, it''s a hash mechanism (to get the
values of the columns at a particular row).

On top of that, there is little that can be done to improve it.

While the data that you are working with is static, having one million
rows at one time is a design flaw, in my opinion. Also, I can''t imagine any
reason why you would need to bind a data grid to a table with one million
rows in it. There is no way for a human to process all of this data at one
time, and having it all up front isn''t helping you obviously, because you
are facing performance hits due to the massive amount of memory taken up.

I would recommend that you work with this data in smaller sets, getting
it from a persistant store (i.e. a database) when needed.

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"VMI" <vo******@yahoo.com> wrote in message
news:uM**************@TK2MSFTNGP15.phx.gbl...
我们有这个巨大的应用程序这是基于在数据表上存储大量数据。我们唯一的问题是将大量数据(1百万条记录)存储到数据表中会降低系统速度,因为所有这些数据都将存储在内存中。这个性能确实受到了影响。
由于我们并不真的想根据这个数据表重新设计所有内容,
是否有任何公司提供类似于数据表的产品
以更有效的方式存储大量数据?基本上,我们将所有这些数据(这是一次性过程)加载到数据表中并使用它。我们不想改变任何一个;我们只想要类似于存储更好方法的数据表。此外,windows datagrid应该能够绑定到这个新表而没有太多问题。

谢谢。
We have this huge application that''s based on storing tons of data on a
dataTable. The only problem we''re having is that storing LOTS of data (1
million records) into a datatable will slow down the system since all this
data will be stored in memory. The performance is really affected with
this.
Since we don''t really want to redesign everything based on this datatable,
are there any companies that offer a product similar to the datatable that
stores lots of data in a more efficient way? Basically, we load all this
data (it''s a one-shot process) into the datatable and work with that. We
don''t want to change any of that; we just want something similar to the
datatable that stores a better way. Also, the windows datagrid should be
able to bind to this new table without many problems.
Thanks.



我认为无论你使用什么,它都会成为一种记忆力。如果你将这么多数据加载到内存中,我认为你会遇到性能问题。\\ b
问题。你有什么理由不加载你需要的DB

而不是加载所有东西吗?


-

Lateralus [MCAD]

" VMI" < VO ****** @ yahoo.com>在消息中写道

news:uM ************** @ TK2MSFTNGP15.phx.gbl ...
I think that no matter what you use it will be a memory hog. If you''re
loading that much data into memory I think you''ll run into performance
issues. Is there any reason you just don''t load what you need from the DB
instead of loading everything?

--
Lateralus [MCAD]
"VMI" <vo******@yahoo.com> wrote in message
news:uM**************@TK2MSFTNGP15.phx.gbl...
我们有这个巨大的应用程序这是基于在数据表上存储大量数据。我们唯一的问题是将大量数据(1百万条记录)存储到数据表中会降低系统速度,因为所有这些数据都将存储在内存中。这个性能确实受到了影响。
由于我们并不真的想根据这个数据表重新设计所有内容,
是否有任何公司提供类似于数据表的产品
以更有效的方式存储大量数据?基本上,我们将所有这些数据(这是一次性过程)加载到数据表中并使用它。我们不想改变任何一个;我们只想要类似于存储更好方法的数据表。此外,windows datagrid应该能够绑定到这个新表而没有太多问题。

谢谢。
We have this huge application that''s based on storing tons of data on a
dataTable. The only problem we''re having is that storing LOTS of data (1
million records) into a datatable will slow down the system since all this
data will be stored in memory. The performance is really affected with
this.
Since we don''t really want to redesign everything based on this datatable,
are there any companies that offer a product similar to the datatable that
stores lots of data in a more efficient way? Basically, we load all this
data (it''s a one-shot process) into the datatable and work with that. We
don''t want to change any of that; we just want something similar to the
datatable that stores a better way. Also, the windows datagrid should be
able to bind to this new table without many problems.
Thanks.



感谢您的回复。

我们最初使用的是10,000-15,000条记录,我们从未想过这些记录会达到100万条,所以它''这真的是我们没有想到的事情(b)b想象得很好(又名设计缺陷)。

我们已经将数据迁移到了数据库但我们不知道每次用户进行滚动(或向上/向下翻页)

时,我都知道如何查询数据库。我们应该捕获什么事件才能再次查询数据库并且

填满表格?另外,我假设我们需要创建一个Select语句,一旦用户到达grid / datatable中的最后一个可见的

记录,

将显示下一个N条记录。伪代码:在显示的最后一条记录后,从

表中选择下一条N条记录。这就是我们没有的东西

能够弄清楚。


任何帮助都表示赞赏。

" ; VMI" < VO ****** @ yahoo.com>在消息中写道

news:uM ************** @ TK2MSFTNGP15.phx.gbl ...
Thanks for your replies.
We were initially working with 10,000-15,000 records and we never imagined
that these records would reach 1 million, so it''s really something we didn''t
think through very well (aka a design flaw).
We''ve already migrated the data to database but we don''t exactly know how to
query the database everytime the user does a scroll (or page up/page down)
in the grid. What event should we capture in order to query the DB again and
fill the table? Also, I assume we need to create a Select statement that
will display the next N records once the user has reached the last visible
record in the grid/datatable (in pseudocode: "Select the next N records from
table following the last record displayed"). That''s what we haven''t been
able to figure out.

Any help is appreciated.
"VMI" <vo******@yahoo.com> wrote in message
news:uM**************@TK2MSFTNGP15.phx.gbl...
我们有这个巨大的应用程序这是基于在数据表上存储大量数据。我们唯一的问题是将大量数据(1百万条记录)存储到数据表中会降低系统速度,因为所有这些数据都将存储在内存中。这个表现确实受到了
的影响。由于我们并不真的想根据这个数据表重新设计所有内容,
是否有任何公司提供类似于数据表的产品,以更有效的方式存储大量数据?基本上,我们将所有这些数据(这是一次性过程)加载到数据表中并使用它。我们不想改变任何一个;我们只想要类似于存储更好方法的数据表。此外,windows datagrid应该能够绑定到这个新表而没有太多问题。

谢谢。
We have this huge application that''s based on storing tons of data on a
dataTable. The only problem we''re having is that storing LOTS of data (1
million records) into a datatable will slow down the system since all this
data will be stored in memory. The performance is really affected with this. Since we don''t really want to redesign everything based on this datatable,
are there any companies that offer a product similar to the datatable that
stores lots of data in a more efficient way? Basically, we load all this
data (it''s a one-shot process) into the datatable and work with that. We
don''t want to change any of that; we just want something similar to the
datatable that stores a better way. Also, the windows datagrid should be
able to bind to this new table without many problems.
Thanks.



这篇关于存储数据的其他表与ADO.Net数据表不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆