会话中的数据表还是ASP.NET中的存储过程分页?
首选哪一种: 在会话中在数据表中保留1000条记录,并使用它进行分页? 或 在存储过程级别进行分页,每次请求35条记录? 更多信息: 数据表共40列 用户数为200 7个应用程序正在IIS上运行 Oracle DB server与IIS的服务器不同 欢迎任何其他解决方案/建议/建议 编辑:用户可以更新一行,并将其提交到数据库。它将通过从数据库请求整个数据来刷新网格会话中的数据表还是ASP.NET中的存储过程分页?,asp.net,session,stored-procedures,datatable,Asp.net,Session,Stored Procedures,Datatable,首选哪一种: 在会话中在数据表中保留1000条记录,并使用它进行分页? 或 在存储过程级别进行分页,每次请求35条记录? 更多信息: 数据表共40列 用户数为200 7个应用程序正在IIS上运行 Oracle DB server与IIS的服务器不同 欢迎任何其他解决方案/建议/建议 编辑:用户可以更新一行,并将其提交到数据库。它将通过从数据库请求整个数据来刷新网格 Edit2:每个用户都在加载不同的datatable,这些datatable来自数据库中的同一个表我倾向于使用存储的过程路由,但要注
Edit2:每个用户都在加载不同的datatable,这些datatable来自数据库中的同一个表我倾向于使用存储的过程路由,但要注意的是,用户可以根据他们要查找的内容过滤结果。然后,可能会缓存结果及其查询参数,并在执行存储过程之前查看缓存,以确保您没有特定搜索条件的结果 将这么多的数据放入会话中不是一个好主意,因为这些信息不会在多个用户之间共享,因为它们处于会话中,而且从长远来看会影响性能。如果将范围扩展到应用程序级别,则最好使用缓存机制来减轻应用程序中的内存占用 只是我的2c 希望这有帮助
编辑:如果我没记错的话,数据表是不可序列化的,所以你无论如何都不能在会话中存储它们,你必须使用数据视图或数据集。如果你在服务器上有大量的内存,那么将数据保存在内存中要比每次访问数据库快得多 粗略计算:每列1000*40*200*字节+开销
如果数据表在用户之间共享,则可以将其放入应用程序对象中。数据表可序列化:数据表:MarshallByValueComponent、IListSource、ISupportInitializeNotification、ISupportInitialize、ISerializable、IXmlSerializable