繁体   English   中英

会话中的DataTable或ASP.NET中的存储过程分页?

[英]DataTable in Session or Stored procedure paging in ASP.NET?

首选:

  1. 在会话的数据表中保留1000条记录,并使用它进行分页吗?

要么

  1. 在存储过程级别进行分页并每次请求35条记录?

更多信息:

  • 40列数据表

  • 用户数是200用户

  • 7个应用程序正在IIS上运行

  • Oracle DB服务器与IIS的服务器不同

任何其他解决方案/建议/建议均受到欢迎

编辑:用户可以更新一行,并将其提交到数据库。 通过从数据库请求全部数据来刷新网格。

Edit2:每个用户正在加载来自数据库中同一表的不同数据表

我倾向于使用存储的proc路线,但要注意的是,使用户能够将结果过滤到他们想要的内容。 然后,也许在执行存储的proc之前将结果连同查询参数一起缓存并查看缓存,以确保您没有针对该特定搜索条件的结果。

将这么多的数据放入会话中不是一个好主意,因为该信息不会在多个用户之间共享(因为它在会话中),而且从长远来看会损害性能。 而且,如果将范围扩展到应用程序级别,则最好使用缓存机制来减轻应用程序中的内存占用。

只是我的2c

希望这可以帮助。

编辑:如果我没记错的话,DataTables不能序列化,因此无论如何您都无法将它们存储在会话中,因此必须使用数据视图或数据集。

如果服务器上有大量的内存,那么将数据保留在内存中的速度将比每次访问数据库都要快得多。

粗略计算:1000 * 40 * 200 *每列字节数+开销

如果数据表在用户之间共享,则可以将其放在Application对象中。

暂无
暂无

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

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