Asp.net 我应该在哪里存储一百万条记录阵列?

Asp.net 我应该在哪里存储一百万条记录阵列?,asp.net,optimization,random,Asp.net,Optimization,Random,我在优化和应用程序设计领域有一个问题。 我正在使用asp.net和sql server构建一个web应用程序 在我的一个屏幕中,我必须执行生成随机数目的用户ID的操作。我向查看器提供了一些有关所选用户的统计信息。如果观众喜欢这些统计数据,我想保存它们 所以基本上我需要保存临时的随机数据,如果用户喜欢,就保留它 我应该将生成的ID存储在数据库中还是将它们存储在会话中?好吧,因为您正在生成随机ID,所以您正在使用某种伪随机生成器。你考虑过为那台发电机储存种子的可能性吗?我最近也有类似的问题。其实很相

我在优化和应用程序设计领域有一个问题。 我正在使用asp.net和sql server构建一个web应用程序

在我的一个屏幕中,我必须执行生成随机数目的用户ID的操作。我向查看器提供了一些有关所选用户的统计信息。如果观众喜欢这些统计数据,我想保存它们

所以基本上我需要保存临时的随机数据,如果用户喜欢,就保留它


我应该将生成的ID存储在数据库中还是将它们存储在会话中?

好吧,因为您正在生成随机ID,所以您正在使用某种伪随机生成器。你考虑过为那台发电机储存种子的可能性吗?我最近也有类似的问题。其实很相似。看看:

编辑:在评论中,您建议在SQL server上执行大部分操作。看看下面的帖子。此外,你可能想考虑新的用户被添加的特殊情况,而你的管理员或任何思考,如果他“喜欢”来保存或不保存。在这种情况下,您需要额外存储发出请求时的用户数,并相应地调整随机选择函数。在被删除用户的更特殊的情况下,这种方法无疑是无用的


这取决于您的情况和要求。如果将数据存储在会话中,则可以,但一旦会话被放弃或结束,数据就会丢失。但是,如果这并不重要,也就是说,您不想将数据永远保存在那里,那么在会话中存储(临时)就更好了。但是您需要研究性能问题,特别是如果多个用户同时执行相同的操作,这将降低性能


如果您选择存储在数据库中,那么这也会起作用,但您需要决定启用或禁用ViewState,同样是为了性能

如果必须这样做,我会将数据存储在sql中的临时表中,在每次页面加载事件中都会删除数据并重新创建,我会将数据显示在网格中,从中可以删除并保存所选用户id中的数据

标题非常误导,与您的真实问题无关。它是相关的,因为数组的大小是大的,我实际上是使用sql查询来生成一个随机Id,在t-sql中,可以通过添加“orderbynewid”子句来实现。